YES 44.184 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a) :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C (\old new ->new) fm key elt

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt 
case lookupFM fm1 split_key of
  Nothing-> elt2
  Just elt1-> combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest

The following Lambda expression
\oldnewnew

is transformed to
addToFM0 old new = new



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a) :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt 
case lookupFM fm1 split_key of
  Nothing-> elt2
  Just elt1-> combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case fm_l of
 EmptyFM → True
 Branch left_key _ _ _ _ → 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

is transformed to
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key _ _ _ _) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

The following Case expression
case fm_r of
 EmptyFM → True
 Branch right_key _ _ _ _ → 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

is transformed to
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key _ _ _ _) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

The following Case expression
case fm_R of
 Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 → single_L fm_L fm_R
 | otherwise
 → double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

The following Case expression
case fm_L of
 Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 → single_R fm_L fm_R
 | otherwise
 → double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

The following Case expression
case lookupFM fm1 split_key of
 Nothing → elt2
 Just elt1 → combiner elt1 elt2

is transformed to
new_elt0 elt2 combiner Nothing = elt2
new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a) :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a) :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
fm_l@(Branch yy yz zu zv zw)

is replaced by the following term
Branch yy yz zu zv zw

The bind variable of the following binding Pattern
fm_r@(Branch zy zz vuu vuv vuw)

is replaced by the following term
Branch zy zz vuu vuv vuw



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a) :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
 | otherwise = 
mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) where 
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
splitLT EmptyFM split_key = emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key
 | split_key < key
 = splitLT fm_l split_key
 | split_key > key
 = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise
 = fm_l

is transformed to
splitLT EmptyFM split_key = splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key = splitLT3 (Branch key elt xx fm_l fm_rsplit_key

splitLT2 key elt xx fm_l fm_r split_key True = splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False = splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

splitLT1 key elt xx fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False = splitLT0 key elt xx fm_l fm_r split_key otherwise

splitLT0 key elt xx fm_l fm_r split_key True = fm_l

splitLT3 (Branch key elt xx fm_l fm_rsplit_key = splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

splitLT4 EmptyFM split_key = emptyFM
splitLT4 www wwx = splitLT3 www wwx

The following Function with conditions
splitGT EmptyFM split_key = emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key
 | split_key > key
 = splitGT fm_r split_key
 | split_key < key
 = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
 | otherwise
 = fm_r

is transformed to
splitGT EmptyFM split_key = splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key = splitGT3 (Branch key elt xy fm_l fm_rsplit_key

splitGT1 key elt xy fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
splitGT1 key elt xy fm_l fm_r split_key False = splitGT0 key elt xy fm_l fm_r split_key otherwise

splitGT0 key elt xy fm_l fm_r split_key True = fm_r

splitGT2 key elt xy fm_l fm_r split_key True = splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False = splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

splitGT3 (Branch key elt xy fm_l fm_rsplit_key = splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

splitGT4 EmptyFM split_key = emptyFM
splitGT4 wxu wxv = splitGT3 wxu wxv

The following Function with conditions
mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
 | sIZE_RATIO * size_l < size_r
 = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
 | sIZE_RATIO * size_r < size_l
 = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
 | otherwise
 = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
where 
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

is transformed to
mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = 
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw = mkVBalBranch3 wxz wyu wyv wyw

mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv = mkVBalBranch4 wyy wyz wzu wzv

The following Function with conditions
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R

mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

The following Function with conditions
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R

mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

The following Function with conditions
mkBalBranch key elt fm_L fm_R
 | size_l + size_r < 2
 = mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l
 = mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r
 = mkBalBranch1 fm_L fm_R fm_L
 | otherwise
 = mkBranch 2 key elt fm_L fm_R
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

is transformed to
mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R

mkBalBranch6 key elt fm_L fm_R = 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

The following Function with conditions
addToFM_C combiner EmptyFM key elt = unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt
 | new_key < key
 = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
 | new_key > key
 = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise
 = Branch new_key (combiner elt new_eltsize fm_l fm_r

is transformed to
addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt

addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_eltsize fm_l fm_r

addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

addToFM_C4 combiner EmptyFM key elt = unitFM key elt
addToFM_C4 xuu xuv xuw xux = addToFM_C3 xuu xuv xuw xux

The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find = lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find

lookupFM1 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False = lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

lookupFM0 key elt vxv fm_l fm_r key_to_find True = Just elt

lookupFM2 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False = lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find = lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 xvu xvv = lookupFM3 xvu xvv

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare0 x y True = GT

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz

gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd xww xwx = gcd3 xww xwx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

gcd1 True xww xwx = error []
gcd1 xwy xwz xxu = gcd0 xwz xxu

gcd2 True xww xwx = gcd1 (xwx == 0) xww xwx
gcd2 xxv xxw xxx = gcd0 xxw xxx

gcd3 xww xwx = gcd2 (xww == 0) xww xwx
gcd3 xxy xxz = gcd0 xxy xxz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal0 x True = `negate` x

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a) :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r) where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

are unpacked to the following functions on top level
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xyu xyv fm_lr fm_r)

mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R

mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xyu xyv fm_lrr fm_r)

mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 xyu xyv fm_l fm_rlfm_rr

mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

mkBalBranch6Size_r xyu xyv xyw xyx = sizeFM xyw

mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 xyu xyv fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

mkBalBranch6Size_l xyu xyv xyw xyx = sizeFM xyx

mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
where 
balance_ok  = True
left_ok  = left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key vw vx vy vz) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key
left_size  = sizeFM fm_l
right_ok  = right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key wu wv ww wx) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key
right_size  = sizeFM fm_r
unbox x = x

are unpacked to the following functions on top level
mkBranchRight_size xyy xyz xzu = sizeFM xyy

mkBranchUnbox xyy xyz xzu x = x

mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM = True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vz) = mkBranchLeft_ok0Biggest_left_key fm_l < key

mkBranchLeft_ok xyy xyz xzu = mkBranchLeft_ok0 xyy xyz xzu xyz xzu xyz

mkBranchRight_ok xyy xyz xzu = mkBranchRight_ok0 xyy xyz xzu xyy xzu xyy

mkBranchLeft_size xyy xyz xzu = sizeFM xyz

mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM = True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wx) = key < mkBranchRight_ok0Smallest_right_key fm_r

mkBranchBalance_ok xyy xyz xzu = True

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result

are unpacked to the following functions on top level
mkBranchResult xzv xzw xzx xzy = Branch xzv xzw (mkBranchUnbox xzx xzy xzv (1 + mkBranchLeft_size xzx xzy xzv + mkBranchRight_size xzx xzy xzv)) xzy xzx

The bindings of the following Let/Where expression
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

are unpacked to the following functions on top level
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch xzz yuu yuv yuw yux)

mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch yuy yuz yvu yvv yvw)

mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

The bindings of the following Let/Where expression
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right)
where 
gts  = splitGT fm1 split_key
lts  = splitLT fm1 split_key
new_elt  = new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing = elt2
new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2

are unpacked to the following functions on top level
plusFM_CGts yvx yvy yvz ywu = splitGT yvx yvy

plusFM_CLts yvx yvy yvz ywu = splitLT yvx yvy

plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing = elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1) = combiner elt1 elt2

plusFM_CNew_elt yvx yvy yvz ywu = plusFM_CNew_elt0 yvx yvy yvz ywu yvz ywu (lookupFM yvx yvy)

The bindings of the following Let/Where expression
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

are unpacked to the following functions on top level
mkBranchLeft_ok0Biggest_left_key ywv = fst (findMax ywv)

The bindings of the following Let/Where expression
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

are unpacked to the following functions on top level
mkBranchRight_ok0Smallest_right_key yww = fst (findMin yww)

The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2D ywx ywy = gcd ywx ywy

reduce2Reduce0 ywx ywy x y True = x `quot` reduce2D ywx ywy :% (y `quot` reduce2D ywx ywy)

reduce2Reduce1 ywx ywy x y True = error []
reduce2Reduce1 ywx ywy x y False = reduce2Reduce0 ywx ywy x y otherwise

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

are unpacked to the following functions on top level
gcd0Gcd' x xvw = gcd0Gcd'2 x xvw
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'1 True x xvw = x
gcd0Gcd'1 xvx xvy xvz = gcd0Gcd'0 xvy xvz

gcd0Gcd'2 x xvw = gcd0Gcd'1 (xvw == 0) x xvw
gcd0Gcd'2 xwu xwv = gcd0Gcd'0 xwu xwv

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a) :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_R fm_L key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_R fm_L + mkBalBranch6Size_r key elt fm_R fm_L < 2)

  
mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 xyu xyv fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xyu xyv fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

  
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

  
mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 xyu xyv fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xyu xyv fm_lr fm_r)

  
mkBalBranch6Size_l xyu xyv xyw xyx sizeFM xyx

  
mkBalBranch6Size_r xyu xyv xyw xyx sizeFM xyw

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok xyy xyz xzu True

  
mkBranchLeft_ok xyy xyz xzu mkBranchLeft_ok0 xyy xyz xzu xyz xzu xyz

  
mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key ywv fst (findMax ywv)

  
mkBranchLeft_size xyy xyz xzu sizeFM xyz

  
mkBranchResult xzv xzw xzx xzy Branch xzv xzw (mkBranchUnbox xzx xzy xzv (1 + mkBranchLeft_size xzx xzy xzv + mkBranchRight_size xzx xzy xzv)) xzy xzx

  
mkBranchRight_ok xyy xyz xzu mkBranchRight_ok0 xyy xyz xzu xyy xzu xyy

  
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key yww fst (findMin yww)

  
mkBranchRight_size xyy xyz xzu sizeFM xyy

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  (FiniteMap a b) ( ->  a (Int  ->  Int)))
mkBranchUnbox xyy xyz xzu x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3MkVBalBranch2 yy yz zu zv zw zy zz vuu vuv vuw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_l yy yz zu zv zw zy zz vuu vuv vuw < mkVBalBranch3Size_r yy yz zu zv zw zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch yuy yuz yvu yvv yvw)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left rightmkVBalBranch split_key (plusFM_CNew_elt fm1 split_key elt2 combiner) (plusFM_C combiner (plusFM_CLts fm1 split_key elt2 combiner) left) (plusFM_C combiner (plusFM_CGts fm1 split_key elt2 combiner) right)

  
plusFM_CGts yvx yvy yvz ywu splitGT yvx yvy

  
plusFM_CLts yvx yvy yvz ywu splitLT yvx yvy

  
plusFM_CNew_elt yvx yvy yvz ywu plusFM_CNew_elt0 yvx yvy yvz ywu yvz ywu (lookupFM yvx yvy)

  
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (plusFM_C :: (a  ->  a  ->  a ->  FiniteMap () a  ->  FiniteMap () a  ->  FiniteMap () a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_R fm_L key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_R fm_L + mkBalBranch6Size_r key elt fm_R fm_L < Pos (Succ (Succ Zero)))

  
mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) key_rl elt_rl (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xyu xyv fm_l fm_rll) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) key_lr elt_lr (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) key_l elt_l fm_ll fm_lrl) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xyu xyv fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < Pos (Succ (Succ Zero)) * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < Pos (Succ (Succ Zero)) * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch (Pos (Succ (Succ Zero))) key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

  
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch (Pos (Succ Zero)) key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

  
mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch (Pos (Succ (Succ (Succ Zero)))) key_r elt_r (mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xyu xyv fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) key_l elt_l fm_ll (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xyu xyv fm_lr fm_r)

  
mkBalBranch6Size_l xyu xyv xyw xyx sizeFM xyx

  
mkBalBranch6Size_r xyu xyv xyw xyx sizeFM xyw

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok xyy xyz xzu True

  
mkBranchLeft_ok xyy xyz xzu mkBranchLeft_ok0 xyy xyz xzu xyz xzu xyz

  
mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key ywv fst (findMax ywv)

  
mkBranchLeft_size xyy xyz xzu sizeFM xyz

  
mkBranchResult xzv xzw xzx xzy Branch xzv xzw (mkBranchUnbox xzx xzy xzv (Pos (Succ Zero+ mkBranchLeft_size xzx xzy xzv + mkBranchRight_size xzx xzy xzv)) xzy xzx

  
mkBranchRight_ok xyy xyz xzu mkBranchRight_ok0 xyy xyz xzu xyy xzu xyy

  
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key yww fst (findMin yww)

  
mkBranchRight_size xyy xyz xzu sizeFM xyy

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  (FiniteMap a b) ( ->  a (Int  ->  Int)))
mkBranchUnbox xyy xyz xzu x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3MkVBalBranch2 yy yz zu zv zw zy zz vuu vuv vuw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_l yy yz zu zv zw zy zz vuu vuv vuw < mkVBalBranch3Size_r yy yz zu zv zw zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch yuy yuz yvu yvv yvw)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left rightmkVBalBranch split_key (plusFM_CNew_elt fm1 split_key elt2 combiner) (plusFM_C combiner (plusFM_CLts fm1 split_key elt2 combiner) left) (plusFM_C combiner (plusFM_CGts fm1 split_key elt2 combiner) right)

  
plusFM_CGts yvx yvy yvz ywu splitGT yvx yvy

  
plusFM_CLts yvx yvy yvz ywu splitLT yvx yvy

  
plusFM_CNew_elt yvx yvy yvz ywu plusFM_CNew_elt0 yvx yvy yvz ywu yvz ywu (lookupFM yvx yvy)

  
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO Pos (Succ (Succ (Succ (Succ (Succ Zero)))))

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt (Pos (Succ Zero)) emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(ywz443000), Succ(ywz438000)) → new_primEqNat(ywz443000, ywz438000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(ywz44300), Succ(ywz43800)) → new_primCmpNat(ywz44300, ywz43800)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMinusNat(Succ(ywz504200), Succ(ywz58100)) → new_primMinusNat(ywz504200, ywz58100)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(ywz504200), Succ(ywz58100)) → new_primPlusNat(ywz504200, ywz58100)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(ywz443100), Succ(ywz438100)) → new_primMulNat(ywz443100, Succ(ywz438100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), app(ty_Maybe, ge), gd) → new_esEs0(ywz44300, ywz43800, ge)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, app(app(ty_@2, da), db), bd) → new_esEs1(ywz44301, ywz43801, da, db)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), app(app(ty_Either, ca), cb), bc, bd) → new_esEs3(ywz44300, ywz43800, ca, cb)
new_esEs0(Just(ywz44300), Just(ywz43800), app(app(ty_Either, fg), fh)) → new_esEs3(ywz44300, ywz43800, fg, fh)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), app(ty_Maybe, be), bc, bd) → new_esEs0(ywz44300, ywz43800, be)
new_esEs3(Right(ywz44300), Right(ywz43800), bda, app(app(ty_Either, bea), beb)) → new_esEs3(ywz44300, ywz43800, bea, beb)
new_esEs0(Just(ywz44300), Just(ywz43800), app(ty_Maybe, fb)) → new_esEs0(ywz44300, ywz43800, fb)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), app(ty_[], gh), gd) → new_esEs2(ywz44300, ywz43800, gh)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), app(app(app(ty_@3, h), ba), bb), bc, bd) → new_esEs(ywz44300, ywz43800, h, ba, bb)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, bc, app(app(ty_@2, eb), ec)) → new_esEs1(ywz44302, ywz43802, eb, ec)
new_esEs3(Left(ywz44300), Left(ywz43800), app(app(ty_Either, bcg), bch), bcb) → new_esEs3(ywz44300, ywz43800, bcg, bch)
new_esEs2(:(ywz44300, ywz44301), :(ywz43800, ywz43801), app(ty_Maybe, bah)) → new_esEs0(ywz44300, ywz43800, bah)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), hc, app(ty_[], bab)) → new_esEs2(ywz44301, ywz43801, bab)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), hc, app(app(ty_Either, bac), bad)) → new_esEs3(ywz44301, ywz43801, bac, bad)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), hc, app(app(ty_@2, hh), baa)) → new_esEs1(ywz44301, ywz43801, hh, baa)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, app(ty_Maybe, cg), bd) → new_esEs0(ywz44301, ywz43801, cg)
new_esEs3(Right(ywz44300), Right(ywz43800), bda, app(app(app(ty_@3, bdb), bdc), bdd)) → new_esEs(ywz44300, ywz43800, bdb, bdc, bdd)
new_esEs2(:(ywz44300, ywz44301), :(ywz43800, ywz43801), app(app(app(ty_@3, bae), baf), bag)) → new_esEs(ywz44300, ywz43800, bae, baf, bag)
new_esEs3(Right(ywz44300), Right(ywz43800), bda, app(ty_[], bdh)) → new_esEs2(ywz44300, ywz43800, bdh)
new_esEs2(:(ywz44300, ywz44301), :(ywz43800, ywz43801), app(app(ty_@2, bba), bbb)) → new_esEs1(ywz44300, ywz43800, bba, bbb)
new_esEs3(Left(ywz44300), Left(ywz43800), app(app(ty_@2, bcd), bce), bcb) → new_esEs1(ywz44300, ywz43800, bcd, bce)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, bc, app(ty_Maybe, ea)) → new_esEs0(ywz44302, ywz43802, ea)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, app(app(app(ty_@3, cd), ce), cf), bd) → new_esEs(ywz44301, ywz43801, cd, ce, cf)
new_esEs2(:(ywz44300, ywz44301), :(ywz43800, ywz43801), bbf) → new_esEs2(ywz44301, ywz43801, bbf)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), app(app(ty_@2, gf), gg), gd) → new_esEs1(ywz44300, ywz43800, gf, gg)
new_esEs0(Just(ywz44300), Just(ywz43800), app(app(app(ty_@3, eg), eh), fa)) → new_esEs(ywz44300, ywz43800, eg, eh, fa)
new_esEs2(:(ywz44300, ywz44301), :(ywz43800, ywz43801), app(ty_[], bbc)) → new_esEs2(ywz44300, ywz43800, bbc)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), app(app(ty_Either, ha), hb), gd) → new_esEs3(ywz44300, ywz43800, ha, hb)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), app(ty_[], bh), bc, bd) → new_esEs2(ywz44300, ywz43800, bh)
new_esEs2(:(ywz44300, ywz44301), :(ywz43800, ywz43801), app(app(ty_Either, bbd), bbe)) → new_esEs3(ywz44300, ywz43800, bbd, bbe)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, app(ty_[], dc), bd) → new_esEs2(ywz44301, ywz43801, dc)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, bc, app(ty_[], ed)) → new_esEs2(ywz44302, ywz43802, ed)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), hc, app(app(app(ty_@3, hd), he), hf)) → new_esEs(ywz44301, ywz43801, hd, he, hf)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), app(app(ty_@2, bf), bg), bc, bd) → new_esEs1(ywz44300, ywz43800, bf, bg)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, app(app(ty_Either, dd), de), bd) → new_esEs3(ywz44301, ywz43801, dd, de)
new_esEs3(Right(ywz44300), Right(ywz43800), bda, app(app(ty_@2, bdf), bdg)) → new_esEs1(ywz44300, ywz43800, bdf, bdg)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), hc, app(ty_Maybe, hg)) → new_esEs0(ywz44301, ywz43801, hg)
new_esEs3(Left(ywz44300), Left(ywz43800), app(ty_Maybe, bcc), bcb) → new_esEs0(ywz44300, ywz43800, bcc)
new_esEs3(Right(ywz44300), Right(ywz43800), bda, app(ty_Maybe, bde)) → new_esEs0(ywz44300, ywz43800, bde)
new_esEs3(Left(ywz44300), Left(ywz43800), app(ty_[], bcf), bcb) → new_esEs2(ywz44300, ywz43800, bcf)
new_esEs0(Just(ywz44300), Just(ywz43800), app(app(ty_@2, fc), fd)) → new_esEs1(ywz44300, ywz43800, fc, fd)
new_esEs1(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), app(app(app(ty_@3, ga), gb), gc), gd) → new_esEs(ywz44300, ywz43800, ga, gb, gc)
new_esEs3(Left(ywz44300), Left(ywz43800), app(app(app(ty_@3, bbg), bbh), bca), bcb) → new_esEs(ywz44300, ywz43800, bbg, bbh, bca)
new_esEs0(Just(ywz44300), Just(ywz43800), app(ty_[], ff)) → new_esEs2(ywz44300, ywz43800, ff)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, bc, app(app(ty_Either, ee), ef)) → new_esEs3(ywz44302, ywz43802, ee, ef)
new_esEs(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cc, bc, app(app(app(ty_@3, df), dg), dh)) → new_esEs(ywz44302, ywz43802, df, dg, dh)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare1(Right(ywz4430), Right(ywz4380), cc, cd) → new_compare21(ywz4430, ywz4380, new_esEs5(ywz4430, ywz4380, cd), cc, cd)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, bdf), app(ty_Maybe, bee)), cf) → new_ltEs2(ywz5271, ywz5281, bee)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, cde, app(ty_[], cdf)) → new_ltEs(ywz612, ywz614, cdf)
new_compare20(Right(ywz5270), Right(ywz5280), False, app(app(ty_Either, eb), app(app(ty_Either, ed), ee)), cf) → new_ltEs0(ywz5270, ywz5280, ed, ee)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, app(app(app(ty_@3, hd), he), hf), fg) → new_lt1(ywz5271, ywz5281, hd, he, hf)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), app(ty_[], fd), ff, fg) → new_lt(ywz5270, ywz5280, fd)
new_compare20(Right(ywz5270), Right(ywz5280), False, app(app(ty_Either, eb), app(app(ty_@2, fb), fc)), cf) → new_ltEs3(ywz5270, ywz5280, fb, fc)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), app(app(app(ty_@3, hd), he), hf)), fg), cf) → new_lt1(ywz5271, ywz5281, hd, he, hf)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, app(ty_[], bcd)), bce), cf) → new_lt(ywz5270, ywz5280, bcd)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, app(ty_Maybe, cab), bgb) → new_lt2(ywz599, ywz602, cab)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), app(ty_[], bcd), bce) → new_lt(ywz5270, ywz5280, bcd)
new_compare1(Left(ywz4430), Left(ywz4380), cc, cd) → new_compare20(ywz4430, ywz4380, new_esEs4(ywz4430, ywz4380, cc), cc, cd)
new_compare20(Left(ywz5270), Left(ywz5280), False, app(app(ty_Either, app(ty_[], cg)), da), cf) → new_ltEs(ywz5270, ywz5280, cg)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, app(app(ty_Either, fh), ga)), ff), fg), cf) → new_lt0(ywz5270, ywz5280, fh, ga)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bdf, app(app(app(ty_@3, beb), bec), bed)) → new_ltEs1(ywz5271, ywz5281, beb, bec, bed)
new_compare20(Just(ywz5270), Just(ywz5280), False, app(ty_Maybe, app(app(ty_Either, bbd), bbe)), cf) → new_ltEs0(ywz5270, ywz5280, bbd, bbe)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), ff), app(app(app(ty_@3, bae), baf), bag)), cf) → new_ltEs1(ywz5272, ywz5282, bae, baf, bag)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, app(app(app(ty_@3, bch), bda), bdb)), bce), cf) → new_lt1(ywz5270, ywz5280, bch, bda, bdb)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, bga, app(ty_[], cae)) → new_ltEs(ywz600, ywz603, cae)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, app(app(ty_Either, bcf), bcg)), bce), cf) → new_lt0(ywz5270, ywz5280, bcf, bcg)
new_compare23(ywz556, ywz557, False, app(ty_Maybe, ccf)) → new_ltEs2(ywz556, ywz557, ccf)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, app(ty_[], ceg), ceh) → new_lt(ywz611, ywz613, ceg)
new_primCompAux(ywz4430, ywz4380, ywz502, app(ty_[], bb)) → new_compare(ywz4430, ywz4380, bb)
new_compare21(ywz534, ywz535, False, cga, app(ty_Maybe, cgh)) → new_ltEs2(ywz534, ywz535, cgh)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, app(app(ty_Either, cfa), cfb), ceh) → new_lt0(ywz611, ywz613, cfa, cfb)
new_compare21(ywz534, ywz535, False, cga, app(app(ty_Either, cgc), cgd)) → new_ltEs0(ywz534, ywz535, cgc, cgd)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), app(app(ty_@2, gf), gg), ff, fg) → new_lt3(ywz5270, ywz5280, gf, gg)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, app(ty_Maybe, bgh), bga, bgb) → new_lt2(ywz598, ywz601, bgh)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bdf, app(app(ty_@2, bef), beg)) → new_ltEs3(ywz5271, ywz5281, bef, beg)
new_compare20(Right(ywz5270), Right(ywz5280), False, app(app(ty_Either, eb), app(ty_[], ec)), cf) → new_ltEs(ywz5270, ywz5280, ec)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), app(ty_Maybe, hg)), fg), cf) → new_lt2(ywz5271, ywz5281, hg)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, app(app(ty_@2, cac), cad), bgb) → new_lt3(ywz599, ywz602, cac, cad)
new_lt2(ywz35, ywz290, cbf) → new_compare3(ywz35, ywz290, cbf)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, bdf), app(ty_[], bdg)), cf) → new_ltEs(ywz5271, ywz5281, bdg)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), app(app(ty_@2, hh), baa)), fg), cf) → new_lt3(ywz5271, ywz5281, hh, baa)
new_ltEs0(Right(ywz5270), Right(ywz5280), eb, app(ty_[], ec)) → new_ltEs(ywz5270, ywz5280, ec)
new_ltEs0(Right(ywz5270), Right(ywz5280), eb, app(app(ty_Either, ed), ee)) → new_ltEs0(ywz5270, ywz5280, ed, ee)
new_ltEs0(Right(ywz5270), Right(ywz5280), eb, app(ty_Maybe, fa)) → new_ltEs2(ywz5270, ywz5280, fa)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), app(app(ty_@2, bdd), bde), bce) → new_lt3(ywz5270, ywz5280, bdd, bde)
new_lt1(ywz35, ywz290, bfb, bfc, bfd) → new_compare2(ywz35, ywz290, bfb, bfc, bfd)
new_ltEs2(Just(ywz5270), Just(ywz5280), app(app(ty_@2, bcb), bcc)) → new_ltEs3(ywz5270, ywz5280, bcb, bcc)
new_compare21(ywz534, ywz535, False, cga, app(app(app(ty_@3, cge), cgf), cgg)) → new_ltEs1(ywz534, ywz535, cge, cgf, cgg)
new_compare23(ywz556, ywz557, False, app(app(ty_Either, cca), ccb)) → new_ltEs0(ywz556, ywz557, cca, ccb)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, ff, app(ty_[], bab)) → new_ltEs(ywz5272, ywz5282, bab)
new_ltEs0(Left(ywz5270), Left(ywz5280), app(ty_Maybe, dg), da) → new_ltEs2(ywz5270, ywz5280, dg)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, ff, app(app(app(ty_@3, bae), baf), bag)) → new_ltEs1(ywz5272, ywz5282, bae, baf, bag)
new_compare23(ywz556, ywz557, False, app(app(app(ty_@3, ccc), ccd), cce)) → new_ltEs1(ywz556, ywz557, ccc, ccd, cce)
new_compare23(ywz556, ywz557, False, app(app(ty_@2, ccg), cch)) → new_ltEs3(ywz556, ywz557, ccg, cch)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), app(ty_Maybe, bdc), bce) → new_lt2(ywz5270, ywz5280, bdc)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, app(ty_[], bfh), bga, bgb) → new_lt(ywz598, ywz601, bfh)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), ff), app(app(ty_@2, bba), bbb)), cf) → new_ltEs3(ywz5272, ywz5282, bba, bbb)
new_ltEs(ywz527, ywz528, ce) → new_compare(ywz527, ywz528, ce)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, cde, app(ty_Maybe, ced)) → new_ltEs2(ywz612, ywz614, ced)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, app(ty_Maybe, ge)), ff), fg), cf) → new_lt2(ywz5270, ywz5280, ge)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, app(app(app(ty_@3, bhg), bhh), caa), bgb) → new_lt1(ywz599, ywz602, bhg, bhh, caa)
new_lt3(ywz35, ywz290, cda, cdb) → new_compare4(ywz35, ywz290, cda, cdb)
new_compare20(ywz527, ywz528, False, app(ty_[], ce), cf) → new_compare(ywz527, ywz528, ce)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, bga, app(app(app(ty_@3, cah), cba), cbb)) → new_ltEs1(ywz600, ywz603, cah, cba, cbb)
new_ltEs0(Right(ywz5270), Right(ywz5280), eb, app(app(app(ty_@3, ef), eg), eh)) → new_ltEs1(ywz5270, ywz5280, ef, eg, eh)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, app(app(ty_Either, hb), hc), fg) → new_lt0(ywz5271, ywz5281, hb, hc)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, bga, app(ty_Maybe, cbc)) → new_ltEs2(ywz600, ywz603, cbc)
new_compare20(Just(ywz5270), Just(ywz5280), False, app(ty_Maybe, app(ty_[], bbc)), cf) → new_ltEs(ywz5270, ywz5280, bbc)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, app(app(ty_@2, gf), gg)), ff), fg), cf) → new_lt3(ywz5270, ywz5280, gf, gg)
new_compare20(Just(ywz5270), Just(ywz5280), False, app(ty_Maybe, app(app(app(ty_@3, bbf), bbg), bbh)), cf) → new_ltEs1(ywz5270, ywz5280, bbf, bbg, bbh)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, app(ty_Maybe, hg), fg) → new_lt2(ywz5271, ywz5281, hg)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), app(app(app(ty_@3, bch), bda), bdb), bce) → new_lt1(ywz5270, ywz5280, bch, bda, bdb)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, ff, app(app(ty_@2, bba), bbb)) → new_ltEs3(ywz5272, ywz5282, bba, bbb)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), ff), app(app(ty_Either, bac), bad)), cf) → new_ltEs0(ywz5272, ywz5282, bac, bad)
new_ltEs2(Just(ywz5270), Just(ywz5280), app(app(ty_Either, bbd), bbe)) → new_ltEs0(ywz5270, ywz5280, bbd, bbe)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, ff, app(ty_Maybe, bah)) → new_ltEs2(ywz5272, ywz5282, bah)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, app(ty_[], bhd), bgb) → new_lt(ywz599, ywz602, bhd)
new_compare4(@2(ywz4430, ywz4431), @2(ywz4380, ywz4381), cdc, cdd) → new_compare24(ywz4430, ywz4431, ywz4380, ywz4381, new_asAs(new_esEs10(ywz4430, ywz4380, cdc), new_esEs11(ywz4431, ywz4381, cdd)), cdc, cdd)
new_compare20(Right(ywz5270), Right(ywz5280), False, app(app(ty_Either, eb), app(ty_Maybe, fa)), cf) → new_ltEs2(ywz5270, ywz5280, fa)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), app(ty_Maybe, ge), ff, fg) → new_lt2(ywz5270, ywz5280, ge)
new_compare20(Left(ywz5270), Left(ywz5280), False, app(app(ty_Either, app(app(ty_@2, dh), ea)), da), cf) → new_ltEs3(ywz5270, ywz5280, dh, ea)
new_compare20(Just(ywz5270), Just(ywz5280), False, app(ty_Maybe, app(ty_Maybe, bca)), cf) → new_ltEs2(ywz5270, ywz5280, bca)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, app(ty_Maybe, bdc)), bce), cf) → new_lt2(ywz5270, ywz5280, bdc)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, app(app(ty_@2, hh), baa), fg) → new_lt3(ywz5271, ywz5281, hh, baa)
new_compare20(Left(ywz5270), Left(ywz5280), False, app(app(ty_Either, app(ty_Maybe, dg)), da), cf) → new_ltEs2(ywz5270, ywz5280, dg)
new_compare2(@3(ywz4430, ywz4431, ywz4432), @3(ywz4380, ywz4381, ywz4382), bfe, bff, bfg) → new_compare22(ywz4430, ywz4431, ywz4432, ywz4380, ywz4381, ywz4382, new_asAs(new_esEs6(ywz4430, ywz4380, bfe), new_asAs(new_esEs7(ywz4431, ywz4381, bff), new_esEs8(ywz4432, ywz4382, bfg))), bfe, bff, bfg)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), app(app(ty_Either, bcf), bcg), bce) → new_lt0(ywz5270, ywz5280, bcf, bcg)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), ff), app(ty_Maybe, bah)), cf) → new_ltEs2(ywz5272, ywz5282, bah)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), ff), app(ty_[], bab)), cf) → new_ltEs(ywz5272, ywz5282, bab)
new_ltEs2(Just(ywz5270), Just(ywz5280), app(ty_[], bbc)) → new_ltEs(ywz5270, ywz5280, bbc)
new_ltEs0(Left(ywz5270), Left(ywz5280), app(app(ty_Either, db), dc), da) → new_ltEs0(ywz5270, ywz5280, db, dc)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bdf, app(app(ty_Either, bdh), bea)) → new_ltEs0(ywz5271, ywz5281, bdh, bea)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, app(ty_[], fd)), ff), fg), cf) → new_lt(ywz5270, ywz5280, fd)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), app(app(ty_Either, fh), ga), ff, fg) → new_lt0(ywz5270, ywz5280, fh, ga)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), app(app(ty_Either, hb), hc)), fg), cf) → new_lt0(ywz5271, ywz5281, hb, hc)
new_compare21(ywz534, ywz535, False, cga, app(app(ty_@2, cha), chb)) → new_ltEs3(ywz534, ywz535, cha, chb)
new_compare21(ywz534, ywz535, False, cga, app(ty_[], cgb)) → new_ltEs(ywz534, ywz535, cgb)
new_ltEs2(Just(ywz5270), Just(ywz5280), app(app(app(ty_@3, bbf), bbg), bbh)) → new_ltEs1(ywz5270, ywz5280, bbf, bbg, bbh)
new_lt(ywz35, ywz290, h) → new_compare(ywz35, ywz290, h)
new_ltEs0(Left(ywz5270), Left(ywz5280), app(ty_[], cg), da) → new_ltEs(ywz5270, ywz5280, cg)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, app(app(ty_@2, bha), bhb), bga, bgb) → new_lt3(ywz598, ywz601, bha, bhb)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, app(app(app(ty_@3, bge), bgf), bgg), bga, bgb) → new_lt1(ywz598, ywz601, bge, bgf, bgg)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, app(ty_Maybe, cff), ceh) → new_lt2(ywz611, ywz613, cff)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, bga, app(app(ty_Either, caf), cag)) → new_ltEs0(ywz600, ywz603, caf, cag)
new_primCompAux(ywz4430, ywz4380, ywz502, app(app(ty_Either, bc), bd)) → new_compare1(ywz4430, ywz4380, bc, bd)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, cde, app(app(ty_@2, cee), cef)) → new_ltEs3(ywz612, ywz614, cee, cef)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, app(app(ty_@2, cfg), cfh), ceh) → new_lt3(ywz611, ywz613, cfg, cfh)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, ff, app(app(ty_Either, bac), bad)) → new_ltEs0(ywz5272, ywz5282, bac, bad)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, app(app(ty_Either, bgc), bgd), bga, bgb) → new_lt0(ywz598, ywz601, bgc, bgd)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, cde, app(app(app(ty_@3, cea), ceb), cec)) → new_ltEs1(ywz612, ywz614, cea, ceb, cec)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, cde, app(app(ty_Either, cdg), cdh)) → new_ltEs0(ywz612, ywz614, cdg, cdh)
new_ltEs0(Left(ywz5270), Left(ywz5280), app(app(ty_@2, dh), ea), da) → new_ltEs3(ywz5270, ywz5280, dh, ea)
new_compare20(Just(ywz5270), Just(ywz5280), False, app(ty_Maybe, app(app(ty_@2, bcb), bcc)), cf) → new_ltEs3(ywz5270, ywz5280, bcb, bcc)
new_ltEs2(Just(ywz5270), Just(ywz5280), app(ty_Maybe, bca)) → new_ltEs2(ywz5270, ywz5280, bca)
new_compare(:(ywz4430, ywz4431), :(ywz4380, ywz4381), ba) → new_compare(ywz4431, ywz4381, ba)
new_compare20(Right(ywz5270), Right(ywz5280), False, app(app(ty_Either, eb), app(app(app(ty_@3, ef), eg), eh)), cf) → new_ltEs1(ywz5270, ywz5280, ef, eg, eh)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, gh), app(ty_[], ha)), fg), cf) → new_lt(ywz5271, ywz5281, ha)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, bdf), app(app(app(ty_@3, beb), bec), bed)), cf) → new_ltEs1(ywz5271, ywz5281, beb, bec, bed)
new_lt0(ywz35, ywz290, beh, bfa) → new_compare1(ywz35, ywz290, beh, bfa)
new_compare(:(ywz4430, ywz4431), :(ywz4380, ywz4381), ba) → new_primCompAux(ywz4430, ywz4380, new_compare0(ywz4431, ywz4381, ba), ba)
new_primCompAux(ywz4430, ywz4380, ywz502, app(app(ty_@2, ca), cb)) → new_compare4(ywz4430, ywz4380, ca, cb)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, bdf), app(app(ty_Either, bdh), bea)), cf) → new_ltEs0(ywz5271, ywz5281, bdh, bea)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, app(ty_[], ha), fg) → new_lt(ywz5271, ywz5281, ha)
new_compare20(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), False, app(app(app(ty_@3, app(app(app(ty_@3, gb), gc), gd)), ff), fg), cf) → new_lt1(ywz5270, ywz5280, gb, gc, gd)
new_primCompAux(ywz4430, ywz4380, ywz502, app(app(app(ty_@3, be), bf), bg)) → new_compare2(ywz4430, ywz4380, be, bf, bg)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bdf, app(ty_[], bdg)) → new_ltEs(ywz5271, ywz5281, bdg)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, bga, app(app(ty_@2, cbd), cbe)) → new_ltEs3(ywz600, ywz603, cbd, cbe)
new_ltEs0(Left(ywz5270), Left(ywz5280), app(app(app(ty_@3, dd), de), df), da) → new_ltEs1(ywz5270, ywz5280, dd, de, df)
new_compare3(Just(ywz4430), Just(ywz4380), cbg) → new_compare23(ywz4430, ywz4380, new_esEs9(ywz4430, ywz4380, cbg), cbg)
new_ltEs0(Right(ywz5270), Right(ywz5280), eb, app(app(ty_@2, fb), fc)) → new_ltEs3(ywz5270, ywz5280, fb, fc)
new_compare20(Left(ywz5270), Left(ywz5280), False, app(app(ty_Either, app(app(ty_Either, db), dc)), da), cf) → new_ltEs0(ywz5270, ywz5280, db, dc)
new_compare24(ywz611, ywz612, ywz613, ywz614, False, app(app(app(ty_@3, cfc), cfd), cfe), ceh) → new_lt1(ywz611, ywz613, cfc, cfd, cfe)
new_compare22(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, app(app(ty_Either, bhe), bhf), bgb) → new_lt0(ywz599, ywz602, bhe, bhf)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, app(app(ty_@2, bdd), bde)), bce), cf) → new_lt3(ywz5270, ywz5280, bdd, bde)
new_compare23(ywz556, ywz557, False, app(ty_[], cbh)) → new_ltEs(ywz556, ywz557, cbh)
new_compare20(Left(ywz5270), Left(ywz5280), False, app(app(ty_Either, app(app(app(ty_@3, dd), de), df)), da), cf) → new_ltEs1(ywz5270, ywz5280, dd, de, df)
new_primCompAux(ywz4430, ywz4380, ywz502, app(ty_Maybe, bh)) → new_compare3(ywz4430, ywz4380, bh)
new_ltEs3(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bdf, app(ty_Maybe, bee)) → new_ltEs2(ywz5271, ywz5281, bee)
new_ltEs1(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), app(app(app(ty_@3, gb), gc), gd), ff, fg) → new_lt1(ywz5270, ywz5280, gb, gc, gd)
new_compare20(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), False, app(app(ty_@2, bdf), app(app(ty_@2, bef), beg)), cf) → new_ltEs3(ywz5271, ywz5281, bef, beg)

The TRS R consists of the following rules:

new_esEs33(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_primCompAux1(ywz4430, ywz4380, ywz502, ba) → new_primCompAux0(ywz502, new_compare26(ywz4430, ywz4380, ba))
new_esEs4(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs22(ywz5272, ywz5282, app(ty_Ratio, fgg)) → new_ltEs4(ywz5272, ywz5282, fgg)
new_esEs4(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_Int) → new_ltEs11(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, ty_Bool) → new_lt17(ywz598, ywz601)
new_esEs11(ywz4431, ywz4381, app(ty_Maybe, dbd)) → new_esEs17(ywz4431, ywz4381, dbd)
new_esEs29(ywz44302, ywz43802, app(app(ty_@2, ebg), ebh)) → new_esEs19(ywz44302, ywz43802, ebg, ebh)
new_esEs35(ywz599, ywz602, ty_Int) → new_esEs26(ywz599, ywz602)
new_esEs8(ywz4432, ywz4382, ty_Char) → new_esEs16(ywz4432, ywz4382)
new_esEs36(ywz611, ywz613, app(ty_Maybe, cff)) → new_esEs17(ywz611, ywz613, cff)
new_lt22(ywz5270, ywz5280, ty_Integer) → new_lt19(ywz5270, ywz5280)
new_ltEs21(ywz534, ywz535, app(ty_Ratio, fdd)) → new_ltEs4(ywz534, ywz535, fdd)
new_esEs36(ywz611, ywz613, app(ty_Ratio, fbe)) → new_esEs20(ywz611, ywz613, fbe)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Integer, ehb) → new_esEs25(ywz44300, ywz43800)
new_ltEs21(ywz534, ywz535, app(ty_[], cgb)) → new_ltEs9(ywz534, ywz535, cgb)
new_ltEs19(ywz612, ywz614, app(ty_[], cdf)) → new_ltEs9(ywz612, ywz614, cdf)
new_compare27(Nothing, Nothing, cbg) → EQ
new_esEs31(ywz44301, ywz43801, app(ty_[], eeh)) → new_esEs21(ywz44301, ywz43801, eeh)
new_esEs4(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_compare110(ywz627, ywz628, True, feg, feh) → LT
new_esEs8(ywz4432, ywz4382, ty_Integer) → new_esEs25(ywz4432, ywz4382)
new_esEs36(ywz611, ywz613, ty_Ordering) → new_esEs15(ywz611, ywz613)
new_lt11(ywz598, ywz601, ty_Char) → new_lt10(ywz598, ywz601)
new_esEs6(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_lt22(ywz5270, ywz5280, ty_Ordering) → new_lt8(ywz5270, ywz5280)
new_ltEs22(ywz5272, ywz5282, ty_Bool) → new_ltEs13(ywz5272, ywz5282)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, app(ty_[], ec)) → new_ltEs9(ywz5270, ywz5280, ec)
new_compare14(ywz680, ywz681, ywz682, ywz683, False, dgb, dgc) → GT
new_ltEs5(EQ, GT) → True
new_esEs15(EQ, EQ) → True
new_lt20(ywz611, ywz613, ty_Float) → new_lt14(ywz611, ywz613)
new_esEs4(ywz4430, ywz4380, app(app(app(ty_@3, dgd), dge), dgf)) → new_esEs13(ywz4430, ywz4380, dgd, dge, dgf)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Ordering, da) → new_ltEs5(ywz5270, ywz5280)
new_esEs28(ywz44301, ywz43801, ty_Char) → new_esEs16(ywz44301, ywz43801)
new_esEs37(ywz5270, ywz5280, app(ty_Maybe, bdc)) → new_esEs17(ywz5270, ywz5280, bdc)
new_esEs39(ywz5271, ywz5281, ty_Float) → new_esEs22(ywz5271, ywz5281)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_Ratio, efc), da) → new_ltEs4(ywz5270, ywz5280, efc)
new_esEs38(ywz5270, ywz5280, ty_Float) → new_esEs22(ywz5270, ywz5280)
new_lt21(ywz5270, ywz5280, ty_@0) → new_lt18(ywz5270, ywz5280)
new_ltEs18(ywz600, ywz603, app(ty_Ratio, egf)) → new_ltEs4(ywz600, ywz603, egf)
new_esEs34(ywz598, ywz601, app(ty_Ratio, egd)) → new_esEs20(ywz598, ywz601, egd)
new_esEs29(ywz44302, ywz43802, app(ty_[], ecb)) → new_esEs21(ywz44302, ywz43802, ecb)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_[], bbc)) → new_ltEs9(ywz5270, ywz5280, bbc)
new_esEs29(ywz44302, ywz43802, app(ty_Ratio, eca)) → new_esEs20(ywz44302, ywz43802, eca)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_ltEs12(Nothing, Nothing, ega) → True
new_lt21(ywz5270, ywz5280, app(app(ty_@2, bdd), bde)) → new_lt6(ywz5270, ywz5280, bdd, bde)
new_ltEs7(Left(ywz5270), Right(ywz5280), eb, da) → True
new_lt20(ywz611, ywz613, ty_@0) → new_lt18(ywz611, ywz613)
new_primMulNat0(Zero, Zero) → Zero
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_[], ehg), ehb) → new_esEs21(ywz44300, ywz43800, ehg)
new_esEs35(ywz599, ywz602, app(app(ty_Either, bhe), bhf)) → new_esEs23(ywz599, ywz602, bhe, bhf)
new_esEs6(ywz4430, ywz4380, app(app(ty_Either, ddc), ddd)) → new_esEs23(ywz4430, ywz4380, ddc, ddd)
new_esEs36(ywz611, ywz613, app(app(ty_@2, cfg), cfh)) → new_esEs19(ywz611, ywz613, cfg, cfh)
new_ltEs20(ywz5271, ywz5281, ty_@0) → new_ltEs15(ywz5271, ywz5281)
new_lt12(ywz599, ywz602, ty_@0) → new_lt18(ywz599, ywz602)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_Ordering) → new_ltEs5(ywz5270, ywz5280)
new_esEs39(ywz5271, ywz5281, app(ty_[], ha)) → new_esEs21(ywz5271, ywz5281, ha)
new_ltEs24(ywz527, ywz528, ty_Integer) → new_ltEs17(ywz527, ywz528)
new_esEs8(ywz4432, ywz4382, app(ty_Ratio, dae)) → new_esEs20(ywz4432, ywz4382, dae)
new_esEs36(ywz611, ywz613, ty_@0) → new_esEs24(ywz611, ywz613)
new_ltEs24(ywz527, ywz528, ty_Char) → new_ltEs16(ywz527, ywz528)
new_ltEs24(ywz527, ywz528, app(app(ty_@2, bdf), bce)) → new_ltEs14(ywz527, ywz528, bdf, bce)
new_esEs35(ywz599, ywz602, app(app(ty_@2, cac), cad)) → new_esEs19(ywz599, ywz602, cac, cad)
new_esEs27(ywz44300, ywz43800, app(ty_Maybe, dhb)) → new_esEs17(ywz44300, ywz43800, dhb)
new_ltEs18(ywz600, ywz603, ty_Char) → new_ltEs16(ywz600, ywz603)
new_esEs11(ywz4431, ywz4381, ty_Integer) → new_esEs25(ywz4431, ywz4381)
new_esEs38(ywz5270, ywz5280, ty_Integer) → new_esEs25(ywz5270, ywz5280)
new_esEs39(ywz5271, ywz5281, app(app(ty_Either, hb), hc)) → new_esEs23(ywz5271, ywz5281, hb, hc)
new_lt21(ywz5270, ywz5280, app(ty_Ratio, fbg)) → new_lt4(ywz5270, ywz5280, fbg)
new_ltEs24(ywz527, ywz528, ty_Double) → new_ltEs8(ywz527, ywz528)
new_esEs5(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_esEs9(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs18(ywz600, ywz603, app(ty_[], cae)) → new_ltEs9(ywz600, ywz603, cae)
new_ltEs20(ywz5271, ywz5281, ty_Int) → new_ltEs11(ywz5271, ywz5281)
new_lt17(ywz35, ywz290) → new_esEs12(new_compare28(ywz35, ywz290))
new_esEs31(ywz44301, ywz43801, app(app(ty_@2, eee), eef)) → new_esEs19(ywz44301, ywz43801, eee, eef)
new_compare16(LT, GT) → LT
new_esEs29(ywz44302, ywz43802, ty_@0) → new_esEs24(ywz44302, ywz43802)
new_ltEs17(ywz527, ywz528) → new_fsEs(new_compare30(ywz527, ywz528))
new_esEs10(ywz4430, ywz4380, app(app(ty_Either, dfg), dfh)) → new_esEs23(ywz4430, ywz4380, dfg, dfh)
new_lt23(ywz5271, ywz5281, ty_Integer) → new_lt19(ywz5271, ywz5281)
new_esEs29(ywz44302, ywz43802, app(app(ty_Either, ecc), ecd)) → new_esEs23(ywz44302, ywz43802, ecc, ecd)
new_ltEs20(ywz5271, ywz5281, app(ty_[], bdg)) → new_ltEs9(ywz5271, ywz5281, bdg)
new_esEs35(ywz599, ywz602, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs13(ywz599, ywz602, bhg, bhh, caa)
new_esEs27(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Int) → new_ltEs11(ywz5270, ywz5280)
new_esEs36(ywz611, ywz613, ty_Int) → new_esEs26(ywz611, ywz613)
new_lt11(ywz598, ywz601, ty_Int) → new_lt7(ywz598, ywz601)
new_ltEs5(EQ, LT) → False
new_esEs37(ywz5270, ywz5280, ty_Int) → new_esEs26(ywz5270, ywz5280)
new_esEs7(ywz4431, ywz4381, ty_Bool) → new_esEs14(ywz4431, ywz4381)
new_ltEs13(True, False) → False
new_ltEs23(ywz556, ywz557, app(app(ty_@2, ccg), cch)) → new_ltEs14(ywz556, ywz557, ccg, cch)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_@0) → new_ltEs15(ywz5270, ywz5280)
new_lt23(ywz5271, ywz5281, ty_Float) → new_lt14(ywz5271, ywz5281)
new_esEs36(ywz611, ywz613, ty_Integer) → new_esEs25(ywz611, ywz613)
new_lt12(ywz599, ywz602, ty_Bool) → new_lt17(ywz599, ywz602)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Char) → new_ltEs16(ywz5270, ywz5280)
new_lt23(ywz5271, ywz5281, ty_@0) → new_lt18(ywz5271, ywz5281)
new_esEs29(ywz44302, ywz43802, app(app(app(ty_@3, ebc), ebd), ebe)) → new_esEs13(ywz44302, ywz43802, ebc, ebd, ebe)
new_ltEs19(ywz612, ywz614, app(ty_Maybe, ced)) → new_ltEs12(ywz612, ywz614, ced)
new_esEs9(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_esEs11(ywz4431, ywz4381, app(ty_Ratio, dbg)) → new_esEs20(ywz4431, ywz4381, dbg)
new_esEs4(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_lt23(ywz5271, ywz5281, ty_Int) → new_lt7(ywz5271, ywz5281)
new_compare17(ywz648, ywz649, False, eff) → GT
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_compare6(Left(ywz4430), Right(ywz4380), cc, cd) → LT
new_esEs28(ywz44301, ywz43801, app(app(ty_Either, eba), ebb)) → new_esEs23(ywz44301, ywz43801, eba, ebb)
new_esEs10(ywz4430, ywz4380, app(ty_Ratio, dfe)) → new_esEs20(ywz4430, ywz4380, dfe)
new_esEs38(ywz5270, ywz5280, ty_Double) → new_esEs18(ywz5270, ywz5280)
new_pePe(False, ywz757) → ywz757
new_ltEs22(ywz5272, ywz5282, app(app(ty_@2, bba), bbb)) → new_ltEs14(ywz5272, ywz5282, bba, bbb)
new_esEs36(ywz611, ywz613, app(app(app(ty_@3, cfc), cfd), cfe)) → new_esEs13(ywz611, ywz613, cfc, cfd, cfe)
new_lt22(ywz5270, ywz5280, app(app(app(ty_@3, gb), gc), gd)) → new_lt15(ywz5270, ywz5280, gb, gc, gd)
new_esEs34(ywz598, ywz601, app(ty_Maybe, bgh)) → new_esEs17(ywz598, ywz601, bgh)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, app(app(ty_@2, fb), fc)) → new_ltEs14(ywz5270, ywz5280, fb, fc)
new_esEs35(ywz599, ywz602, ty_Bool) → new_esEs14(ywz599, ywz602)
new_compare26(ywz4430, ywz4380, ty_Float) → new_compare15(ywz4430, ywz4380)
new_esEs27(ywz44300, ywz43800, app(app(app(ty_@3, dgg), dgh), dha)) → new_esEs13(ywz44300, ywz43800, dgg, dgh, dha)
new_compare5(:%(ywz4430, ywz4431), :%(ywz4380, ywz4381), ty_Integer) → new_compare30(new_sr0(ywz4430, ywz4381), new_sr0(ywz4380, ywz4431))
new_compare29(@0, @0) → EQ
new_esEs30(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_ltEs21(ywz534, ywz535, ty_Double) → new_ltEs8(ywz534, ywz535)
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(app(ty_@3, ffc), ffd), ffe)) → new_esEs13(ywz44300, ywz43800, ffc, ffd, ffe)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, app(ty_Ratio, efd)) → new_ltEs4(ywz5270, ywz5280, efd)
new_esEs10(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_lt23(ywz5271, ywz5281, app(app(ty_Either, hb), hc)) → new_lt5(ywz5271, ywz5281, hb, hc)
new_esEs4(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_esEs30(ywz44300, ywz43800, app(ty_Maybe, edb)) → new_esEs17(ywz44300, ywz43800, edb)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_Ratio, ehf), ehb) → new_esEs20(ywz44300, ywz43800, ehf)
new_lt22(ywz5270, ywz5280, ty_Double) → new_lt13(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(app(app(ty_@3, gb), gc), gd)) → new_esEs13(ywz5270, ywz5280, gb, gc, gd)
new_lt22(ywz5270, ywz5280, app(app(ty_@2, gf), gg)) → new_lt6(ywz5270, ywz5280, gf, gg)
new_esEs10(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_lt13(ywz35, ywz290) → new_esEs12(new_compare11(ywz35, ywz290))
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(ty_@2, bcb), bcc)) → new_ltEs14(ywz5270, ywz5280, bcb, bcc)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Int, ehb) → new_esEs26(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(ty_Ratio, fge)) → new_esEs20(ywz5270, ywz5280, fge)
new_ltEs21(ywz534, ywz535, app(app(ty_@2, cha), chb)) → new_ltEs14(ywz534, ywz535, cha, chb)
new_esEs23(Right(ywz44300), Left(ywz43800), fab, ehb) → False
new_esEs23(Left(ywz44300), Right(ywz43800), fab, ehb) → False
new_esEs40(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_esEs15(LT, EQ) → False
new_esEs15(EQ, LT) → False
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Integer) → new_ltEs17(ywz5270, ywz5280)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_Char) → new_ltEs16(ywz5270, ywz5280)
new_primCmpInt(Neg(Succ(ywz44300)), Neg(Succ(ywz43800))) → new_primCmpNat0(ywz43800, ywz44300)
new_esEs9(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_lt21(ywz5270, ywz5280, ty_Char) → new_lt10(ywz5270, ywz5280)
new_esEs12(GT) → False
new_esEs6(ywz4430, ywz4380, app(app(ty_@2, dcg), dch)) → new_esEs19(ywz4430, ywz4380, dcg, dch)
new_esEs37(ywz5270, ywz5280, ty_Double) → new_esEs18(ywz5270, ywz5280)
new_esEs10(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Bool, ehb) → new_esEs14(ywz44300, ywz43800)
new_esEs12(LT) → True
new_lt20(ywz611, ywz613, app(ty_Maybe, cff)) → new_lt16(ywz611, ywz613, cff)
new_esEs39(ywz5271, ywz5281, ty_Int) → new_esEs26(ywz5271, ywz5281)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, app(app(app(ty_@3, ef), eg), eh)) → new_ltEs10(ywz5270, ywz5280, ef, eg, eh)
new_esEs31(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_esEs37(ywz5270, ywz5280, ty_Bool) → new_esEs14(ywz5270, ywz5280)
new_primCmpNat0(Zero, Succ(ywz43800)) → LT
new_lt22(ywz5270, ywz5280, app(app(ty_Either, fh), ga)) → new_lt5(ywz5270, ywz5280, fh, ga)
new_lt12(ywz599, ywz602, app(app(ty_Either, bhe), bhf)) → new_lt5(ywz599, ywz602, bhe, bhf)
new_esEs30(ywz44300, ywz43800, app(app(ty_Either, edg), edh)) → new_esEs23(ywz44300, ywz43800, edg, edh)
new_esEs8(ywz4432, ywz4382, ty_Int) → new_esEs26(ywz4432, ywz4382)
new_esEs5(ywz4430, ywz4380, app(ty_[], fed)) → new_esEs21(ywz4430, ywz4380, fed)
new_esEs15(EQ, GT) → False
new_esEs15(GT, EQ) → False
new_esEs24(@0, @0) → True
new_esEs40(ywz44300, ywz43800, app(app(app(ty_@3, fhb), fhc), fhd)) → new_esEs13(ywz44300, ywz43800, fhb, fhc, fhd)
new_ltEs24(ywz527, ywz528, ty_Ordering) → new_ltEs5(ywz527, ywz528)
new_ltEs22(ywz5272, ywz5282, ty_Ordering) → new_ltEs5(ywz5272, ywz5282)
new_ltEs13(False, True) → True
new_esEs26(ywz4430, ywz4380) → new_primEqInt(ywz4430, ywz4380)
new_esEs5(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_lt23(ywz5271, ywz5281, ty_Ordering) → new_lt8(ywz5271, ywz5281)
new_esEs20(:%(ywz44300, ywz44301), :%(ywz43800, ywz43801), efe) → new_asAs(new_esEs32(ywz44300, ywz43800, efe), new_esEs33(ywz44301, ywz43801, efe))
new_ltEs15(ywz527, ywz528) → new_fsEs(new_compare29(ywz527, ywz528))
new_esEs40(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_compare210(ywz611, ywz612, ywz613, ywz614, False, cde, ceh) → new_compare13(ywz611, ywz612, ywz613, ywz614, new_lt20(ywz611, ywz613, cde), new_asAs(new_esEs36(ywz611, ywz613, cde), new_ltEs19(ywz612, ywz614, ceh)), cde, ceh)
new_esEs40(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_compare16(GT, GT) → EQ
new_pePe(True, ywz757) → True
new_compare0([], [], ba) → EQ
new_primEqNat0(Zero, Zero) → True
new_esEs38(ywz5270, ywz5280, ty_Char) → new_esEs16(ywz5270, ywz5280)
new_esEs10(ywz4430, ywz4380, app(ty_[], dff)) → new_esEs21(ywz4430, ywz4380, dff)
new_lt20(ywz611, ywz613, app(app(ty_Either, cfa), cfb)) → new_lt5(ywz611, ywz613, cfa, cfb)
new_esEs27(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_compare16(LT, LT) → EQ
new_esEs29(ywz44302, ywz43802, ty_Integer) → new_esEs25(ywz44302, ywz43802)
new_esEs5(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_compare27(Just(ywz4430), Nothing, cbg) → GT
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(ty_Either, fgc), fgd)) → new_esEs23(ywz44300, ywz43800, fgc, fgd)
new_esEs12(EQ) → False
new_esEs30(ywz44300, ywz43800, app(ty_Ratio, ede)) → new_esEs20(ywz44300, ywz43800, ede)
new_esEs40(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_lt20(ywz611, ywz613, app(ty_[], ceg)) → new_lt9(ywz611, ywz613, ceg)
new_compare30(Integer(ywz4430), Integer(ywz4380)) → new_primCmpInt(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_Maybe, ehc), ehb) → new_esEs17(ywz44300, ywz43800, ehc)
new_esEs31(ywz44301, ywz43801, ty_Float) → new_esEs22(ywz44301, ywz43801)
new_ltEs18(ywz600, ywz603, app(app(app(ty_@3, cah), cba), cbb)) → new_ltEs10(ywz600, ywz603, cah, cba, cbb)
new_compare110(ywz627, ywz628, False, feg, feh) → GT
new_esEs38(ywz5270, ywz5280, app(ty_[], fd)) → new_esEs21(ywz5270, ywz5280, fd)
new_esEs11(ywz4431, ywz4381, ty_Char) → new_esEs16(ywz4431, ywz4381)
new_ltEs24(ywz527, ywz528, ty_Bool) → new_ltEs13(ywz527, ywz528)
new_compare26(ywz4430, ywz4380, ty_Char) → new_compare18(ywz4430, ywz4380)
new_esEs29(ywz44302, ywz43802, app(ty_Maybe, ebf)) → new_esEs17(ywz44302, ywz43802, ebf)
new_sr(ywz4431, ywz4381) → new_primMulInt(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, ty_@0) → new_esEs24(ywz5270, ywz5280)
new_lt22(ywz5270, ywz5280, app(ty_[], fd)) → new_lt9(ywz5270, ywz5280, fd)
new_esEs37(ywz5270, ywz5280, ty_Float) → new_esEs22(ywz5270, ywz5280)
new_esEs5(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_ltEs21(ywz534, ywz535, ty_Ordering) → new_ltEs5(ywz534, ywz535)
new_esEs31(ywz44301, ywz43801, app(app(ty_Either, efa), efb)) → new_esEs23(ywz44301, ywz43801, efa, efb)
new_esEs34(ywz598, ywz601, ty_Double) → new_esEs18(ywz598, ywz601)
new_lt12(ywz599, ywz602, app(ty_Maybe, cab)) → new_lt16(ywz599, ywz602, cab)
new_esEs28(ywz44301, ywz43801, ty_@0) → new_esEs24(ywz44301, ywz43801)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_esEs5(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_lt12(ywz599, ywz602, app(app(app(ty_@3, bhg), bhh), caa)) → new_lt15(ywz599, ywz602, bhg, bhh, caa)
new_esEs28(ywz44301, ywz43801, app(ty_[], eah)) → new_esEs21(ywz44301, ywz43801, eah)
new_esEs37(ywz5270, ywz5280, ty_Char) → new_esEs16(ywz5270, ywz5280)
new_ltEs5(LT, LT) → True
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_@0, da) → new_ltEs15(ywz5270, ywz5280)
new_esEs16(Char(ywz44300), Char(ywz43800)) → new_primEqNat0(ywz44300, ywz43800)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_@0) → new_ltEs15(ywz5270, ywz5280)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(app(ty_@3, egg), egh), eha), ehb) → new_esEs13(ywz44300, ywz43800, egg, egh, eha)
new_esEs34(ywz598, ywz601, app(ty_[], bfh)) → new_esEs21(ywz598, ywz601, bfh)
new_esEs6(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_lt21(ywz5270, ywz5280, ty_Ordering) → new_lt8(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, app(app(app(ty_@3, bge), bgf), bgg)) → new_lt15(ywz598, ywz601, bge, bgf, bgg)
new_primEqInt(Neg(Succ(ywz443000)), Neg(Succ(ywz438000))) → new_primEqNat0(ywz443000, ywz438000)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Ordering, ehb) → new_esEs15(ywz44300, ywz43800)
new_esEs27(ywz44300, ywz43800, app(ty_[], dhf)) → new_esEs21(ywz44300, ywz43800, dhf)
new_ltEs21(ywz534, ywz535, ty_Integer) → new_ltEs17(ywz534, ywz535)
new_ltEs20(ywz5271, ywz5281, app(ty_Ratio, fbh)) → new_ltEs4(ywz5271, ywz5281, fbh)
new_ltEs18(ywz600, ywz603, app(app(ty_Either, caf), cag)) → new_ltEs7(ywz600, ywz603, caf, cag)
new_esEs9(ywz4430, ywz4380, app(app(app(ty_@3, fca), fcb), fcc)) → new_esEs13(ywz4430, ywz4380, fca, fcb, fcc)
new_esEs10(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(ty_@2, ehd), ehe), ehb) → new_esEs19(ywz44300, ywz43800, ehd, ehe)
new_esEs32(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_esEs6(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_esEs30(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, ty_Bool) → new_esEs14(ywz5270, ywz5280)
new_compare213(ywz556, ywz557, True, fgh) → EQ
new_esEs35(ywz599, ywz602, ty_Double) → new_esEs18(ywz599, ywz602)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_fsEs(ywz752) → new_not(new_esEs15(ywz752, GT))
new_lt23(ywz5271, ywz5281, app(ty_Ratio, fgf)) → new_lt4(ywz5271, ywz5281, fgf)
new_esEs37(ywz5270, ywz5280, app(app(app(ty_@3, bch), bda), bdb)) → new_esEs13(ywz5270, ywz5280, bch, bda, bdb)
new_compare26(ywz4430, ywz4380, app(app(ty_@2, ca), cb)) → new_compare7(ywz4430, ywz4380, ca, cb)
new_ltEs7(Right(ywz5270), Left(ywz5280), eb, da) → False
new_esEs31(ywz44301, ywz43801, app(ty_Ratio, eeg)) → new_esEs20(ywz44301, ywz43801, eeg)
new_esEs27(ywz44300, ywz43800, app(app(ty_Either, dhg), dhh)) → new_esEs23(ywz44300, ywz43800, dhg, dhh)
new_esEs30(ywz44300, ywz43800, app(app(ty_@2, edc), edd)) → new_esEs19(ywz44300, ywz43800, edc, edd)
new_ltEs21(ywz534, ywz535, app(app(ty_Either, cgc), cgd)) → new_ltEs7(ywz534, ywz535, cgc, cgd)
new_esEs4(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs8(ywz4432, ywz4382, ty_Double) → new_esEs18(ywz4432, ywz4382)
new_esEs8(ywz4432, ywz4382, app(app(ty_@2, dac), dad)) → new_esEs19(ywz4432, ywz4382, dac, dad)
new_esEs9(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs10(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs10(ywz4430, ywz4380, app(ty_Maybe, dfb)) → new_esEs17(ywz4430, ywz4380, dfb)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Int, da) → new_ltEs11(ywz5270, ywz5280)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_compare8(ywz443, ywz438) → new_primCmpInt(ywz443, ywz438)
new_primEqInt(Neg(Zero), Neg(Succ(ywz438000))) → False
new_primEqInt(Neg(Succ(ywz443000)), Neg(Zero)) → False
new_ltEs10(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), gh, ff, fg) → new_pePe(new_lt22(ywz5270, ywz5280, gh), new_asAs(new_esEs38(ywz5270, ywz5280, gh), new_pePe(new_lt23(ywz5271, ywz5281, ff), new_asAs(new_esEs39(ywz5271, ywz5281, ff), new_ltEs22(ywz5272, ywz5282, fg)))))
new_esEs39(ywz5271, ywz5281, ty_Char) → new_esEs16(ywz5271, ywz5281)
new_primCompAux0(ywz521, GT) → GT
new_esEs37(ywz5270, ywz5280, app(app(ty_@2, bdd), bde)) → new_esEs19(ywz5270, ywz5280, bdd, bde)
new_esEs17(Nothing, Nothing, ffa) → True
new_esEs19(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), ece, ecf) → new_asAs(new_esEs30(ywz44300, ywz43800, ece), new_esEs31(ywz44301, ywz43801, ecf))
new_ltEs22(ywz5272, ywz5282, app(ty_Maybe, bah)) → new_ltEs12(ywz5272, ywz5282, bah)
new_esEs28(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_lt22(ywz5270, ywz5280, ty_Int) → new_lt7(ywz5270, ywz5280)
new_esEs21([], [], ffb) → True
new_lt20(ywz611, ywz613, ty_Ordering) → new_lt8(ywz611, ywz613)
new_lt21(ywz5270, ywz5280, ty_Float) → new_lt14(ywz5270, ywz5280)
new_ltEs21(ywz534, ywz535, ty_Bool) → new_ltEs13(ywz534, ywz535)
new_esEs6(ywz4430, ywz4380, app(ty_Ratio, dda)) → new_esEs20(ywz4430, ywz4380, dda)
new_esEs4(ywz4430, ywz4380, app(app(ty_@2, ece), ecf)) → new_esEs19(ywz4430, ywz4380, ece, ecf)
new_lt11(ywz598, ywz601, app(ty_[], bfh)) → new_lt9(ywz598, ywz601, bfh)
new_esEs7(ywz4431, ywz4381, app(ty_Maybe, ddh)) → new_esEs17(ywz4431, ywz4381, ddh)
new_esEs36(ywz611, ywz613, ty_Bool) → new_esEs14(ywz611, ywz613)
new_lt21(ywz5270, ywz5280, app(ty_[], bcd)) → new_lt9(ywz5270, ywz5280, bcd)
new_esEs40(ywz44300, ywz43800, app(app(ty_Either, gab), gac)) → new_esEs23(ywz44300, ywz43800, gab, gac)
new_lt21(ywz5270, ywz5280, app(app(ty_Either, bcf), bcg)) → new_lt5(ywz5270, ywz5280, bcf, bcg)
new_esEs6(ywz4430, ywz4380, app(ty_Maybe, dcf)) → new_esEs17(ywz4430, ywz4380, dcf)
new_ltEs22(ywz5272, ywz5282, ty_Int) → new_ltEs11(ywz5272, ywz5282)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_ltEs19(ywz612, ywz614, ty_Bool) → new_ltEs13(ywz612, ywz614)
new_esEs28(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_primCmpNat0(Succ(ywz44300), Succ(ywz43800)) → new_primCmpNat0(ywz44300, ywz43800)
new_ltEs19(ywz612, ywz614, app(ty_Ratio, fbf)) → new_ltEs4(ywz612, ywz614, fbf)
new_esEs38(ywz5270, ywz5280, app(app(ty_@2, gf), gg)) → new_esEs19(ywz5270, ywz5280, gf, gg)
new_compare28(False, False) → EQ
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Bool) → new_ltEs13(ywz5270, ywz5280)
new_ltEs5(EQ, EQ) → True
new_compare26(ywz4430, ywz4380, app(app(app(ty_@3, be), bf), bg)) → new_compare9(ywz4430, ywz4380, be, bf, bg)
new_esEs35(ywz599, ywz602, ty_@0) → new_esEs24(ywz599, ywz602)
new_esEs9(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_ltEs22(ywz5272, ywz5282, ty_Integer) → new_ltEs17(ywz5272, ywz5282)
new_primEqInt(Pos(Succ(ywz443000)), Pos(Succ(ywz438000))) → new_primEqNat0(ywz443000, ywz438000)
new_ltEs18(ywz600, ywz603, ty_Double) → new_ltEs8(ywz600, ywz603)
new_compare28(False, True) → LT
new_ltEs19(ywz612, ywz614, ty_Integer) → new_ltEs17(ywz612, ywz614)
new_lt14(ywz35, ywz290) → new_esEs12(new_compare15(ywz35, ywz290))
new_esEs7(ywz4431, ywz4381, ty_Integer) → new_esEs25(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, app(ty_Ratio, fbg)) → new_esEs20(ywz5270, ywz5280, fbg)
new_lt22(ywz5270, ywz5280, ty_@0) → new_lt18(ywz5270, ywz5280)
new_esEs11(ywz4431, ywz4381, ty_Bool) → new_esEs14(ywz4431, ywz4381)
new_lt20(ywz611, ywz613, ty_Int) → new_lt7(ywz611, ywz613)
new_esEs31(ywz44301, ywz43801, ty_Double) → new_esEs18(ywz44301, ywz43801)
new_esEs14(False, True) → False
new_esEs14(True, False) → False
new_esEs28(ywz44301, ywz43801, ty_Ordering) → new_esEs15(ywz44301, ywz43801)
new_esEs5(ywz4430, ywz4380, app(ty_Maybe, fdh)) → new_esEs17(ywz4430, ywz4380, fdh)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Char, ehb) → new_esEs16(ywz44300, ywz43800)
new_esEs17(Nothing, Just(ywz43800), ffa) → False
new_esEs17(Just(ywz44300), Nothing, ffa) → False
new_esEs34(ywz598, ywz601, ty_Char) → new_esEs16(ywz598, ywz601)
new_esEs9(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_esEs28(ywz44301, ywz43801, app(app(ty_@2, eae), eaf)) → new_esEs19(ywz44301, ywz43801, eae, eaf)
new_esEs21(:(ywz44300, ywz44301), [], ffb) → False
new_esEs21([], :(ywz43800, ywz43801), ffb) → False
new_ltEs22(ywz5272, ywz5282, app(app(app(ty_@3, bae), baf), bag)) → new_ltEs10(ywz5272, ywz5282, bae, baf, bag)
new_esEs35(ywz599, ywz602, ty_Float) → new_esEs22(ywz599, ywz602)
new_esEs4(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_primEqNat0(Succ(ywz443000), Succ(ywz438000)) → new_primEqNat0(ywz443000, ywz438000)
new_esEs38(ywz5270, ywz5280, ty_Ordering) → new_esEs15(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, app(ty_Ratio, egd)) → new_lt4(ywz598, ywz601, egd)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Double) → new_esEs18(ywz44300, ywz43800)
new_esEs39(ywz5271, ywz5281, ty_Bool) → new_esEs14(ywz5271, ywz5281)
new_esEs8(ywz4432, ywz4382, app(app(ty_Either, dag), dah)) → new_esEs23(ywz4432, ywz4382, dag, dah)
new_ltEs18(ywz600, ywz603, ty_Float) → new_ltEs6(ywz600, ywz603)
new_esEs27(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_compare26(ywz4430, ywz4380, ty_Bool) → new_compare28(ywz4430, ywz4380)
new_ltEs20(ywz5271, ywz5281, ty_Char) → new_ltEs16(ywz5271, ywz5281)
new_esEs38(ywz5270, ywz5280, app(app(ty_Either, fh), ga)) → new_esEs23(ywz5270, ywz5280, fh, ga)
new_lt11(ywz598, ywz601, ty_Float) → new_lt14(ywz598, ywz601)
new_compare12(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, ywz672, chd, che, chf) → new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, chd, che, chf)
new_compare25(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, bhc, bga, bgb) → new_compare12(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, new_lt11(ywz598, ywz601, bhc), new_asAs(new_esEs34(ywz598, ywz601, bhc), new_pePe(new_lt12(ywz599, ywz602, bga), new_asAs(new_esEs35(ywz599, ywz602, bga), new_ltEs18(ywz600, ywz603, bgb)))), bhc, bga, bgb)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Bool, da) → new_ltEs13(ywz5270, ywz5280)
new_ltEs19(ywz612, ywz614, app(app(ty_Either, cdg), cdh)) → new_ltEs7(ywz612, ywz614, cdg, cdh)
new_lt11(ywz598, ywz601, app(app(ty_@2, bha), bhb)) → new_lt6(ywz598, ywz601, bha, bhb)
new_ltEs24(ywz527, ywz528, ty_Int) → new_ltEs11(ywz527, ywz528)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_[], cg), da) → new_ltEs9(ywz5270, ywz5280, cg)
new_esEs22(Float(ywz44300, ywz44301), Float(ywz43800, ywz43801)) → new_esEs26(new_sr(ywz44300, ywz43800), new_sr(ywz44301, ywz43801))
new_esEs23(Right(ywz44300), Right(ywz43800), fab, app(ty_Maybe, faf)) → new_esEs17(ywz44300, ywz43800, faf)
new_compare213(ywz556, ywz557, False, fgh) → new_compare17(ywz556, ywz557, new_ltEs23(ywz556, ywz557, fgh), fgh)
new_esEs11(ywz4431, ywz4381, ty_Int) → new_esEs26(ywz4431, ywz4381)
new_lt21(ywz5270, ywz5280, ty_Double) → new_lt13(ywz5270, ywz5280)
new_primEqInt(Pos(Succ(ywz443000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz438000))) → False
new_compare26(ywz4430, ywz4380, app(ty_[], bb)) → new_compare0(ywz4430, ywz4380, bb)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Double) → new_ltEs8(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, ty_Integer) → new_lt19(ywz598, ywz601)
new_ltEs20(ywz5271, ywz5281, app(ty_Maybe, bee)) → new_ltEs12(ywz5271, ywz5281, bee)
new_primPlusNat0(Succ(ywz504200), Zero) → Succ(ywz504200)
new_primPlusNat0(Zero, Succ(ywz58100)) → Succ(ywz58100)
new_ltEs8(ywz527, ywz528) → new_fsEs(new_compare11(ywz527, ywz528))
new_ltEs5(GT, LT) → False
new_ltEs24(ywz527, ywz528, ty_@0) → new_ltEs15(ywz527, ywz528)
new_compare25(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, True, bhc, bga, bgb) → EQ
new_esEs7(ywz4431, ywz4381, app(app(ty_Either, dee), def)) → new_esEs23(ywz4431, ywz4381, dee, def)
new_esEs18(Double(ywz44300, ywz44301), Double(ywz43800, ywz43801)) → new_esEs26(new_sr(ywz44300, ywz43800), new_sr(ywz44301, ywz43801))
new_primCmpNat0(Zero, Zero) → EQ
new_ltEs22(ywz5272, ywz5282, ty_Float) → new_ltEs6(ywz5272, ywz5282)
new_primCmpNat0(Succ(ywz44300), Zero) → GT
new_lt5(ywz35, ywz290, beh, bfa) → new_esEs12(new_compare6(ywz35, ywz290, beh, bfa))
new_esEs9(ywz4430, ywz4380, app(ty_Maybe, fcd)) → new_esEs17(ywz4430, ywz4380, fcd)
new_lt12(ywz599, ywz602, app(ty_[], bhd)) → new_lt9(ywz599, ywz602, bhd)
new_esEs29(ywz44302, ywz43802, ty_Double) → new_esEs18(ywz44302, ywz43802)
new_esEs36(ywz611, ywz613, ty_Double) → new_esEs18(ywz611, ywz613)
new_ltEs20(ywz5271, ywz5281, ty_Ordering) → new_ltEs5(ywz5271, ywz5281)
new_esEs10(ywz4430, ywz4380, app(app(app(ty_@3, deg), deh), dfa)) → new_esEs13(ywz4430, ywz4380, deg, deh, dfa)
new_lt6(ywz35, ywz290, cda, cdb) → new_esEs12(new_compare7(ywz35, ywz290, cda, cdb))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz43800))) → LT
new_esEs17(Just(ywz44300), Just(ywz43800), ty_@0) → new_esEs24(ywz44300, ywz43800)
new_compare212(ywz527, ywz528, False, gad, cf) → new_compare110(ywz527, ywz528, new_ltEs24(ywz527, ywz528, gad), gad, cf)
new_esEs35(ywz599, ywz602, app(ty_Maybe, cab)) → new_esEs17(ywz599, ywz602, cab)
new_esEs4(ywz4430, ywz4380, app(app(ty_Either, fab), ehb)) → new_esEs23(ywz4430, ywz4380, fab, ehb)
new_ltEs20(ywz5271, ywz5281, ty_Integer) → new_ltEs17(ywz5271, ywz5281)
new_lt23(ywz5271, ywz5281, ty_Char) → new_lt10(ywz5271, ywz5281)
new_sr0(Integer(ywz43800), Integer(ywz44310)) → Integer(new_primMulInt(ywz43800, ywz44310))
new_lt18(ywz50, ywz60) → new_esEs12(new_compare29(ywz50, ywz60))
new_esEs4(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_primEqInt(Pos(Succ(ywz443000)), Neg(ywz43800)) → False
new_primEqInt(Neg(Succ(ywz443000)), Pos(ywz43800)) → False
new_esEs31(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_ltEs23(ywz556, ywz557, app(app(ty_Either, cca), ccb)) → new_ltEs7(ywz556, ywz557, cca, ccb)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_Maybe, bca)) → new_ltEs12(ywz5270, ywz5280, bca)
new_esEs6(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_esEs7(ywz4431, ywz4381, app(app(ty_@2, dea), deb)) → new_esEs19(ywz4431, ywz4381, dea, deb)
new_ltEs23(ywz556, ywz557, ty_Integer) → new_ltEs17(ywz556, ywz557)
new_ltEs18(ywz600, ywz603, app(app(ty_@2, cbd), cbe)) → new_ltEs14(ywz600, ywz603, cbd, cbe)
new_ltEs22(ywz5272, ywz5282, app(app(ty_Either, bac), bad)) → new_ltEs7(ywz5272, ywz5282, bac, bad)
new_esEs28(ywz44301, ywz43801, app(ty_Maybe, ead)) → new_esEs17(ywz44301, ywz43801, ead)
new_compare16(GT, EQ) → GT
new_ltEs24(ywz527, ywz528, app(ty_Ratio, dga)) → new_ltEs4(ywz527, ywz528, dga)
new_lt23(ywz5271, ywz5281, app(ty_[], ha)) → new_lt9(ywz5271, ywz5281, ha)
new_ltEs19(ywz612, ywz614, ty_@0) → new_ltEs15(ywz612, ywz614)
new_esEs11(ywz4431, ywz4381, ty_Double) → new_esEs18(ywz4431, ywz4381)
new_lt12(ywz599, ywz602, ty_Float) → new_lt14(ywz599, ywz602)
new_compare26(ywz4430, ywz4380, ty_Int) → new_compare8(ywz4430, ywz4380)
new_esEs11(ywz4431, ywz4381, app(app(ty_Either, dca), dcb)) → new_esEs23(ywz4431, ywz4381, dca, dcb)
new_primCmpInt(Neg(Succ(ywz44300)), Neg(Zero)) → LT
new_compare6(Right(ywz4430), Right(ywz4380), cc, cd) → new_compare211(ywz4430, ywz4380, new_esEs5(ywz4430, ywz4380, cd), cc, cd)
new_primEqInt(Neg(Zero), Pos(Succ(ywz438000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz438000))) → False
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Char, da) → new_ltEs16(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, app(app(ty_@2, dhc), dhd)) → new_esEs19(ywz44300, ywz43800, dhc, dhd)
new_ltEs20(ywz5271, ywz5281, ty_Float) → new_ltEs6(ywz5271, ywz5281)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz43800))) → new_primCmpNat0(Zero, Succ(ywz43800))
new_ltEs23(ywz556, ywz557, app(ty_Maybe, ccf)) → new_ltEs12(ywz556, ywz557, ccf)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(ty_@2, dh), ea), da) → new_ltEs14(ywz5270, ywz5280, dh, ea)
new_esEs11(ywz4431, ywz4381, app(ty_[], dbh)) → new_esEs21(ywz4431, ywz4381, dbh)
new_esEs6(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_[], fgb)) → new_esEs21(ywz44300, ywz43800, fgb)
new_lt20(ywz611, ywz613, app(ty_Ratio, fbe)) → new_lt4(ywz611, ywz613, fbe)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs29(ywz44302, ywz43802, ty_Int) → new_esEs26(ywz44302, ywz43802)
new_ltEs18(ywz600, ywz603, ty_@0) → new_ltEs15(ywz600, ywz603)
new_esEs39(ywz5271, ywz5281, app(ty_Ratio, fgf)) → new_esEs20(ywz5271, ywz5281, fgf)
new_esEs31(ywz44301, ywz43801, app(ty_Maybe, eed)) → new_esEs17(ywz44301, ywz43801, eed)
new_lt8(ywz35, ywz290) → new_esEs12(new_compare16(ywz35, ywz290))
new_esEs30(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_esEs29(ywz44302, ywz43802, ty_Ordering) → new_esEs15(ywz44302, ywz43802)
new_lt16(ywz35, ywz290, cbf) → new_esEs12(new_compare27(ywz35, ywz290, cbf))
new_lt21(ywz5270, ywz5280, ty_Bool) → new_lt17(ywz5270, ywz5280)
new_ltEs23(ywz556, ywz557, ty_Double) → new_ltEs8(ywz556, ywz557)
new_primCompAux0(ywz521, LT) → LT
new_esEs8(ywz4432, ywz4382, app(ty_[], daf)) → new_esEs21(ywz4432, ywz4382, daf)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, app(app(ty_Either, fbc), fbd)) → new_esEs23(ywz44300, ywz43800, fbc, fbd)
new_not(False) → True
new_esEs11(ywz4431, ywz4381, ty_Float) → new_esEs22(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, app(ty_[], bcd)) → new_esEs21(ywz5270, ywz5280, bcd)
new_compare12(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, False, ywz672, chd, che, chf) → new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, ywz672, chd, che, chf)
new_lt22(ywz5270, ywz5280, app(ty_Maybe, ge)) → new_lt16(ywz5270, ywz5280, ge)
new_esEs7(ywz4431, ywz4381, ty_Char) → new_esEs16(ywz4431, ywz4381)
new_ltEs23(ywz556, ywz557, app(ty_[], cbh)) → new_ltEs9(ywz556, ywz557, cbh)
new_esEs28(ywz44301, ywz43801, app(app(app(ty_@3, eaa), eab), eac)) → new_esEs13(ywz44301, ywz43801, eaa, eab, eac)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_Bool) → new_ltEs13(ywz5270, ywz5280)
new_esEs8(ywz4432, ywz4382, app(app(app(ty_@3, chg), chh), daa)) → new_esEs13(ywz4432, ywz4382, chg, chh, daa)
new_esEs8(ywz4432, ywz4382, ty_@0) → new_esEs24(ywz4432, ywz4382)
new_compare16(EQ, GT) → LT
new_lt20(ywz611, ywz613, app(app(app(ty_@3, cfc), cfd), cfe)) → new_lt15(ywz611, ywz613, cfc, cfd, cfe)
new_lt12(ywz599, ywz602, ty_Integer) → new_lt19(ywz599, ywz602)
new_esEs8(ywz4432, ywz4382, ty_Bool) → new_esEs14(ywz4432, ywz4382)
new_esEs13(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), dgd, dge, dgf) → new_asAs(new_esEs27(ywz44300, ywz43800, dgd), new_asAs(new_esEs28(ywz44301, ywz43801, dge), new_esEs29(ywz44302, ywz43802, dgf)))
new_lt11(ywz598, ywz601, ty_@0) → new_lt18(ywz598, ywz601)
new_esEs34(ywz598, ywz601, ty_Int) → new_esEs26(ywz598, ywz601)
new_esEs9(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_compare212(ywz527, ywz528, True, gad, cf) → EQ
new_lt20(ywz611, ywz613, ty_Double) → new_lt13(ywz611, ywz613)
new_ltEs23(ywz556, ywz557, ty_Float) → new_ltEs6(ywz556, ywz557)
new_compare0(:(ywz4430, ywz4431), [], ba) → GT
new_lt12(ywz599, ywz602, ty_Ordering) → new_lt8(ywz599, ywz602)
new_ltEs19(ywz612, ywz614, ty_Float) → new_ltEs6(ywz612, ywz614)
new_esEs7(ywz4431, ywz4381, app(app(app(ty_@3, dde), ddf), ddg)) → new_esEs13(ywz4431, ywz4381, dde, ddf, ddg)
new_lt22(ywz5270, ywz5280, ty_Float) → new_lt14(ywz5270, ywz5280)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Ordering) → new_ltEs5(ywz5270, ywz5280)
new_esEs40(ywz44300, ywz43800, app(ty_[], gaa)) → new_esEs21(ywz44300, ywz43800, gaa)
new_esEs28(ywz44301, ywz43801, ty_Float) → new_esEs22(ywz44301, ywz43801)
new_esEs39(ywz5271, ywz5281, ty_Ordering) → new_esEs15(ywz5271, ywz5281)
new_primCmpInt(Pos(Succ(ywz44300)), Neg(ywz4380)) → GT
new_esEs7(ywz4431, ywz4381, ty_Ordering) → new_esEs15(ywz4431, ywz4381)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(ty_Either, bbd), bbe)) → new_ltEs7(ywz5270, ywz5280, bbd, bbe)
new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, False, chd, che, chf) → GT
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_esEs39(ywz5271, ywz5281, ty_Integer) → new_esEs25(ywz5271, ywz5281)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_Double) → new_ltEs8(ywz5270, ywz5280)
new_compare5(:%(ywz4430, ywz4431), :%(ywz4380, ywz4381), ty_Int) → new_compare8(new_sr(ywz4430, ywz4381), new_sr(ywz4380, ywz4431))
new_primMulInt(Pos(ywz44310), Pos(ywz43810)) → Pos(new_primMulNat0(ywz44310, ywz43810))
new_ltEs11(ywz527, ywz528) → new_fsEs(new_compare8(ywz527, ywz528))
new_ltEs5(LT, GT) → True
new_esEs35(ywz599, ywz602, app(ty_Ratio, ege)) → new_esEs20(ywz599, ywz602, ege)
new_lt9(ywz35, ywz290, h) → new_esEs12(new_compare0(ywz35, ywz290, h))
new_compare28(True, False) → GT
new_ltEs18(ywz600, ywz603, ty_Integer) → new_ltEs17(ywz600, ywz603)
new_esEs39(ywz5271, ywz5281, app(app(app(ty_@3, hd), he), hf)) → new_esEs13(ywz5271, ywz5281, hd, he, hf)
new_compare28(True, True) → EQ
new_primMulInt(Neg(ywz44310), Neg(ywz43810)) → Pos(new_primMulNat0(ywz44310, ywz43810))
new_esEs4(ywz4430, ywz4380, app(ty_Maybe, ffa)) → new_esEs17(ywz4430, ywz4380, ffa)
new_esEs34(ywz598, ywz601, app(app(ty_Either, bgc), bgd)) → new_esEs23(ywz598, ywz601, bgc, bgd)
new_primEqNat0(Succ(ywz443000), Zero) → False
new_primEqNat0(Zero, Succ(ywz438000)) → False
new_esEs34(ywz598, ywz601, ty_Integer) → new_esEs25(ywz598, ywz601)
new_ltEs22(ywz5272, ywz5282, ty_@0) → new_ltEs15(ywz5272, ywz5282)
new_ltEs23(ywz556, ywz557, app(app(app(ty_@3, ccc), ccd), cce)) → new_ltEs10(ywz556, ywz557, ccc, ccd, cce)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(app(ty_@3, bbf), bbg), bbh)) → new_ltEs10(ywz5270, ywz5280, bbf, bbg, bbh)
new_esEs15(LT, GT) → False
new_esEs15(GT, LT) → False
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(ty_Either, db), dc), da) → new_ltEs7(ywz5270, ywz5280, db, dc)
new_esEs40(ywz44300, ywz43800, app(ty_Maybe, fhe)) → new_esEs17(ywz44300, ywz43800, fhe)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Double, ehb) → new_esEs18(ywz44300, ywz43800)
new_ltEs6(ywz527, ywz528) → new_fsEs(new_compare15(ywz527, ywz528))
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs4(ywz527, ywz528, dga) → new_fsEs(new_compare5(ywz527, ywz528, dga))
new_ltEs21(ywz534, ywz535, ty_Float) → new_ltEs6(ywz534, ywz535)
new_esEs5(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_ltEs24(ywz527, ywz528, app(app(ty_Either, eb), da)) → new_ltEs7(ywz527, ywz528, eb, da)
new_esEs9(ywz4430, ywz4380, app(app(ty_Either, fda), fdb)) → new_esEs23(ywz4430, ywz4380, fda, fdb)
new_esEs34(ywz598, ywz601, ty_Bool) → new_esEs14(ywz598, ywz601)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Integer, da) → new_ltEs17(ywz5270, ywz5280)
new_esEs15(LT, LT) → True
new_compare16(LT, EQ) → LT
new_esEs40(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_esEs40(ywz44300, ywz43800, app(app(ty_@2, fhf), fhg)) → new_esEs19(ywz44300, ywz43800, fhf, fhg)
new_esEs5(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_ltEs22(ywz5272, ywz5282, ty_Double) → new_ltEs8(ywz5272, ywz5282)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Float, ehb) → new_esEs22(ywz44300, ywz43800)
new_lt12(ywz599, ywz602, app(app(ty_@2, cac), cad)) → new_lt6(ywz599, ywz602, cac, cad)
new_esEs11(ywz4431, ywz4381, ty_@0) → new_esEs24(ywz4431, ywz4381)
new_esEs5(ywz4430, ywz4380, app(app(app(ty_@3, fde), fdf), fdg)) → new_esEs13(ywz4430, ywz4380, fde, fdf, fdg)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, app(ty_Maybe, fa)) → new_ltEs12(ywz5270, ywz5280, fa)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, app(ty_Ratio, fba)) → new_esEs20(ywz44300, ywz43800, fba)
new_compare26(ywz4430, ywz4380, app(app(ty_Either, bc), bd)) → new_compare6(ywz4430, ywz4380, bc, bd)
new_esEs35(ywz599, ywz602, ty_Char) → new_esEs16(ywz599, ywz602)
new_esEs9(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_esEs6(ywz4430, ywz4380, app(app(app(ty_@3, dcc), dcd), dce)) → new_esEs13(ywz4430, ywz4380, dcc, dcd, dce)
new_lt11(ywz598, ywz601, ty_Ordering) → new_lt8(ywz598, ywz601)
new_esEs36(ywz611, ywz613, ty_Char) → new_esEs16(ywz611, ywz613)
new_esEs27(ywz44300, ywz43800, app(ty_Ratio, dhe)) → new_esEs20(ywz44300, ywz43800, dhe)
new_esEs5(ywz4430, ywz4380, app(ty_Ratio, fec)) → new_esEs20(ywz4430, ywz4380, fec)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz43800))) → new_primCmpNat0(Succ(ywz43800), Zero)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(ty_Either, ehh), faa), ehb) → new_esEs23(ywz44300, ywz43800, ehh, faa)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz43800))) → GT
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_Integer) → new_ltEs17(ywz5270, ywz5280)
new_ltEs22(ywz5272, ywz5282, ty_Char) → new_ltEs16(ywz5272, ywz5282)
new_lt7(ywz35, ywz290) → new_esEs12(new_compare8(ywz35, ywz290))
new_compare0(:(ywz4430, ywz4431), :(ywz4380, ywz4381), ba) → new_primCompAux1(ywz4430, ywz4380, new_compare0(ywz4431, ywz4381, ba), ba)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_Ratio, egb)) → new_ltEs4(ywz5270, ywz5280, egb)
new_compare19(ywz634, ywz635, True, efg, efh) → LT
new_esEs40(ywz44300, ywz43800, app(ty_Ratio, fhh)) → new_esEs20(ywz44300, ywz43800, fhh)
new_ltEs19(ywz612, ywz614, ty_Double) → new_ltEs8(ywz612, ywz614)
new_ltEs19(ywz612, ywz614, ty_Int) → new_ltEs11(ywz612, ywz614)
new_lt20(ywz611, ywz613, app(app(ty_@2, cfg), cfh)) → new_lt6(ywz611, ywz613, cfg, cfh)
new_esEs40(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_esEs7(ywz4431, ywz4381, ty_Double) → new_esEs18(ywz4431, ywz4381)
new_esEs5(ywz4430, ywz4380, app(app(ty_@2, fea), feb)) → new_esEs19(ywz4430, ywz4380, fea, feb)
new_esEs8(ywz4432, ywz4382, ty_Ordering) → new_esEs15(ywz4432, ywz4382)
new_ltEs21(ywz534, ywz535, app(ty_Maybe, cgh)) → new_ltEs12(ywz534, ywz535, cgh)
new_ltEs23(ywz556, ywz557, app(ty_Ratio, fha)) → new_ltEs4(ywz556, ywz557, fha)
new_esEs7(ywz4431, ywz4381, ty_Int) → new_esEs26(ywz4431, ywz4381)
new_esEs31(ywz44301, ywz43801, app(app(app(ty_@3, eea), eeb), eec)) → new_esEs13(ywz44301, ywz43801, eea, eeb, eec)
new_lt23(ywz5271, ywz5281, app(app(ty_@2, hh), baa)) → new_lt6(ywz5271, ywz5281, hh, baa)
new_esEs36(ywz611, ywz613, app(app(ty_Either, cfa), cfb)) → new_esEs23(ywz611, ywz613, cfa, cfb)
new_ltEs18(ywz600, ywz603, ty_Int) → new_ltEs11(ywz600, ywz603)
new_esEs21(:(ywz44300, ywz44301), :(ywz43800, ywz43801), ffb) → new_asAs(new_esEs40(ywz44300, ywz43800, ffb), new_esEs21(ywz44301, ywz43801, ffb))
new_compare14(ywz680, ywz681, ywz682, ywz683, True, dgb, dgc) → LT
new_lt20(ywz611, ywz613, ty_Char) → new_lt10(ywz611, ywz613)
new_ltEs24(ywz527, ywz528, ty_Float) → new_ltEs6(ywz527, ywz528)
new_esEs27(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_esEs30(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_ltEs14(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bdf, bce) → new_pePe(new_lt21(ywz5270, ywz5280, bdf), new_asAs(new_esEs37(ywz5270, ywz5280, bdf), new_ltEs20(ywz5271, ywz5281, bce)))
new_lt11(ywz598, ywz601, ty_Double) → new_lt13(ywz598, ywz601)
new_compare27(Just(ywz4430), Just(ywz4380), cbg) → new_compare213(ywz4430, ywz4380, new_esEs9(ywz4430, ywz4380, cbg), cbg)
new_compare26(ywz4430, ywz4380, ty_Integer) → new_compare30(ywz4430, ywz4380)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, app(ty_[], fbb)) → new_esEs21(ywz44300, ywz43800, fbb)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs38(ywz5270, ywz5280, ty_Int) → new_esEs26(ywz5270, ywz5280)
new_esEs11(ywz4431, ywz4381, app(app(app(ty_@3, dba), dbb), dbc)) → new_esEs13(ywz4431, ywz4381, dba, dbb, dbc)
new_esEs10(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_compare13(ywz680, ywz681, ywz682, ywz683, True, ywz685, dgb, dgc) → new_compare14(ywz680, ywz681, ywz682, ywz683, True, dgb, dgc)
new_esEs35(ywz599, ywz602, app(ty_[], bhd)) → new_esEs21(ywz599, ywz602, bhd)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, app(app(ty_Either, ed), ee)) → new_ltEs7(ywz5270, ywz5280, ed, ee)
new_esEs30(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, app(app(app(ty_@3, fac), fad), fae)) → new_esEs13(ywz44300, ywz43800, fac, fad, fae)
new_esEs30(ywz44300, ywz43800, app(app(app(ty_@3, ecg), ech), eda)) → new_esEs13(ywz44300, ywz43800, ecg, ech, eda)
new_asAs(False, ywz643) → False
new_compare26(ywz4430, ywz4380, ty_@0) → new_compare29(ywz4430, ywz4380)
new_compare16(EQ, EQ) → EQ
new_esEs40(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_esEs36(ywz611, ywz613, ty_Float) → new_esEs22(ywz611, ywz613)
new_lt23(ywz5271, ywz5281, ty_Bool) → new_lt17(ywz5271, ywz5281)
new_esEs7(ywz4431, ywz4381, ty_@0) → new_esEs24(ywz4431, ywz4381)
new_primMulInt(Pos(ywz44310), Neg(ywz43810)) → Neg(new_primMulNat0(ywz44310, ywz43810))
new_primMulInt(Neg(ywz44310), Pos(ywz43810)) → Neg(new_primMulNat0(ywz44310, ywz43810))
new_esEs10(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_primMulNat0(Succ(ywz443100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz438100)) → Zero
new_ltEs18(ywz600, ywz603, ty_Ordering) → new_ltEs5(ywz600, ywz603)
new_compare26(ywz4430, ywz4380, ty_Ordering) → new_compare16(ywz4430, ywz4380)
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(ty_@2, ffg), ffh)) → new_esEs19(ywz44300, ywz43800, ffg, ffh)
new_esEs7(ywz4431, ywz4381, app(ty_Ratio, dec)) → new_esEs20(ywz4431, ywz4381, dec)
new_lt21(ywz5270, ywz5280, ty_Int) → new_lt7(ywz5270, ywz5280)
new_ltEs5(LT, EQ) → True
new_lt12(ywz599, ywz602, ty_Double) → new_lt13(ywz599, ywz602)
new_ltEs19(ywz612, ywz614, ty_Char) → new_ltEs16(ywz612, ywz614)
new_esEs37(ywz5270, ywz5280, ty_Integer) → new_esEs25(ywz5270, ywz5280)
new_ltEs16(ywz527, ywz528) → new_fsEs(new_compare18(ywz527, ywz528))
new_esEs27(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_ltEs20(ywz5271, ywz5281, app(app(ty_@2, bef), beg)) → new_ltEs14(ywz5271, ywz5281, bef, beg)
new_ltEs23(ywz556, ywz557, ty_Char) → new_ltEs16(ywz556, ywz557)
new_esEs28(ywz44301, ywz43801, ty_Bool) → new_esEs14(ywz44301, ywz43801)
new_esEs6(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_esEs28(ywz44301, ywz43801, ty_Double) → new_esEs18(ywz44301, ywz43801)
new_ltEs18(ywz600, ywz603, app(ty_Maybe, cbc)) → new_ltEs12(ywz600, ywz603, cbc)
new_esEs30(ywz44300, ywz43800, app(ty_[], edf)) → new_esEs21(ywz44300, ywz43800, edf)
new_esEs39(ywz5271, ywz5281, ty_@0) → new_esEs24(ywz5271, ywz5281)
new_ltEs20(ywz5271, ywz5281, ty_Bool) → new_ltEs13(ywz5271, ywz5281)
new_lt22(ywz5270, ywz5280, ty_Bool) → new_lt17(ywz5270, ywz5280)
new_esEs5(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_lt19(ywz35, ywz290) → new_esEs12(new_compare30(ywz35, ywz290))
new_esEs30(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_ltEs24(ywz527, ywz528, app(ty_[], ce)) → new_ltEs9(ywz527, ywz528, ce)
new_esEs7(ywz4431, ywz4381, ty_Float) → new_esEs22(ywz4431, ywz4381)
new_esEs25(Integer(ywz44300), Integer(ywz43800)) → new_primEqInt(ywz44300, ywz43800)
new_esEs36(ywz611, ywz613, app(ty_[], ceg)) → new_esEs21(ywz611, ywz613, ceg)
new_esEs9(ywz4430, ywz4380, app(ty_[], fch)) → new_esEs21(ywz4430, ywz4380, fch)
new_compare26(ywz4430, ywz4380, app(ty_Ratio, egc)) → new_compare5(ywz4430, ywz4380, egc)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Int) → new_esEs26(ywz44300, ywz43800)
new_ltEs23(ywz556, ywz557, ty_Int) → new_ltEs11(ywz556, ywz557)
new_lt12(ywz599, ywz602, app(ty_Ratio, ege)) → new_lt4(ywz599, ywz602, ege)
new_ltEs12(Nothing, Just(ywz5280), ega) → True
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_Maybe, dg), da) → new_ltEs12(ywz5270, ywz5280, dg)
new_compare27(Nothing, Just(ywz4380), cbg) → LT
new_esEs33(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_esEs35(ywz599, ywz602, ty_Ordering) → new_esEs15(ywz599, ywz602)
new_esEs37(ywz5270, ywz5280, ty_Ordering) → new_esEs15(ywz5270, ywz5280)
new_esEs14(True, True) → True
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Float) → new_ltEs6(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs31(ywz44301, ywz43801, ty_Ordering) → new_esEs15(ywz44301, ywz43801)
new_esEs31(ywz44301, ywz43801, ty_Char) → new_esEs16(ywz44301, ywz43801)
new_esEs4(ywz4430, ywz4380, app(ty_Ratio, efe)) → new_esEs20(ywz4430, ywz4380, efe)
new_compare7(@2(ywz4430, ywz4431), @2(ywz4380, ywz4381), cdc, cdd) → new_compare210(ywz4430, ywz4431, ywz4380, ywz4381, new_asAs(new_esEs10(ywz4430, ywz4380, cdc), new_esEs11(ywz4431, ywz4381, cdd)), cdc, cdd)
new_compare211(ywz534, ywz535, True, cga, fdc) → EQ
new_compare26(ywz4430, ywz4380, app(ty_Maybe, bh)) → new_compare27(ywz4430, ywz4380, bh)
new_ltEs9(ywz527, ywz528, ce) → new_fsEs(new_compare0(ywz527, ywz528, ce))
new_ltEs21(ywz534, ywz535, ty_Char) → new_ltEs16(ywz534, ywz535)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Float) → new_esEs22(ywz44300, ywz43800)
new_lt4(ywz35, ywz290, chc) → new_esEs12(new_compare5(ywz35, ywz290, chc))
new_lt23(ywz5271, ywz5281, app(ty_Maybe, hg)) → new_lt16(ywz5271, ywz5281, hg)
new_lt20(ywz611, ywz613, ty_Integer) → new_lt19(ywz611, ywz613)
new_esEs5(ywz4430, ywz4380, app(app(ty_Either, fee), fef)) → new_esEs23(ywz4430, ywz4380, fee, fef)
new_ltEs13(True, True) → True
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs8(ywz4432, ywz4382, ty_Float) → new_esEs22(ywz4432, ywz4382)
new_ltEs20(ywz5271, ywz5281, app(app(ty_Either, bdh), bea)) → new_ltEs7(ywz5271, ywz5281, bdh, bea)
new_ltEs13(False, False) → True
new_esEs27(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_lt10(ywz35, ywz290) → new_esEs12(new_compare18(ywz35, ywz290))
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_compare9(@3(ywz4430, ywz4431, ywz4432), @3(ywz4380, ywz4381, ywz4382), bfe, bff, bfg) → new_compare25(ywz4430, ywz4431, ywz4432, ywz4380, ywz4381, ywz4382, new_asAs(new_esEs6(ywz4430, ywz4380, bfe), new_asAs(new_esEs7(ywz4431, ywz4381, bff), new_esEs8(ywz4432, ywz4382, bfg))), bfe, bff, bfg)
new_esEs29(ywz44302, ywz43802, ty_Float) → new_esEs22(ywz44302, ywz43802)
new_ltEs23(ywz556, ywz557, ty_Ordering) → new_ltEs5(ywz556, ywz557)
new_esEs28(ywz44301, ywz43801, app(ty_Ratio, eag)) → new_esEs20(ywz44301, ywz43801, eag)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Float, da) → new_ltEs6(ywz5270, ywz5280)
new_esEs11(ywz4431, ywz4381, app(app(ty_@2, dbe), dbf)) → new_esEs19(ywz4431, ywz4381, dbe, dbf)
new_primCmpInt(Pos(Succ(ywz44300)), Pos(Zero)) → GT
new_esEs30(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_ltEs18(ywz600, ywz603, ty_Bool) → new_ltEs13(ywz600, ywz603)
new_ltEs21(ywz534, ywz535, ty_@0) → new_ltEs15(ywz534, ywz535)
new_primCmpInt(Pos(Succ(ywz44300)), Pos(Succ(ywz43800))) → new_primCmpNat0(ywz44300, ywz43800)
new_esEs4(ywz4430, ywz4380, app(ty_[], ffb)) → new_esEs21(ywz4430, ywz4380, ffb)
new_ltEs20(ywz5271, ywz5281, ty_Double) → new_ltEs8(ywz5271, ywz5281)
new_esEs40(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(ty_Maybe, ge)) → new_esEs17(ywz5270, ywz5280, ge)
new_esEs32(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_lt21(ywz5270, ywz5280, ty_Integer) → new_lt19(ywz5270, ywz5280)
new_compare18(Char(ywz4430), Char(ywz4380)) → new_primCmpNat0(ywz4430, ywz4380)
new_compare13(ywz680, ywz681, ywz682, ywz683, False, ywz685, dgb, dgc) → new_compare14(ywz680, ywz681, ywz682, ywz683, ywz685, dgb, dgc)
new_lt15(ywz35, ywz290, bfb, bfc, bfd) → new_esEs12(new_compare9(ywz35, ywz290, bfb, bfc, bfd))
new_ltEs22(ywz5272, ywz5282, app(ty_[], bab)) → new_ltEs9(ywz5272, ywz5282, bab)
new_lt22(ywz5270, ywz5280, ty_Char) → new_lt10(ywz5270, ywz5280)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(app(ty_@3, dd), de), df), da) → new_ltEs10(ywz5270, ywz5280, dd, de, df)
new_esEs34(ywz598, ywz601, ty_@0) → new_esEs24(ywz598, ywz601)
new_esEs9(ywz4430, ywz4380, app(ty_Ratio, fcg)) → new_esEs20(ywz4430, ywz4380, fcg)
new_esEs14(False, False) → True
new_compare16(GT, LT) → GT
new_esEs29(ywz44302, ywz43802, ty_Char) → new_esEs16(ywz44302, ywz43802)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, app(app(ty_@2, fag), fah)) → new_esEs19(ywz44300, ywz43800, fag, fah)
new_lt21(ywz5270, ywz5280, app(app(app(ty_@3, bch), bda), bdb)) → new_lt15(ywz5270, ywz5280, bch, bda, bdb)
new_ltEs23(ywz556, ywz557, ty_Bool) → new_ltEs13(ywz556, ywz557)
new_ltEs21(ywz534, ywz535, app(app(app(ty_@3, cge), cgf), cgg)) → new_ltEs10(ywz534, ywz535, cge, cgf, cgg)
new_lt23(ywz5271, ywz5281, app(app(app(ty_@3, hd), he), hf)) → new_lt15(ywz5271, ywz5281, hd, he, hf)
new_compare26(ywz4430, ywz4380, ty_Double) → new_compare11(ywz4430, ywz4380)
new_primMulNat0(Succ(ywz443100), Succ(ywz438100)) → new_primPlusNat0(new_primMulNat0(ywz443100, Succ(ywz438100)), Succ(ywz438100))
new_esEs10(ywz4430, ywz4380, app(app(ty_@2, dfc), dfd)) → new_esEs19(ywz4430, ywz4380, dfc, dfd)
new_esEs23(Right(ywz44300), Right(ywz43800), fab, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_@0, ehb) → new_esEs24(ywz44300, ywz43800)
new_compare17(ywz648, ywz649, True, eff) → LT
new_compare211(ywz534, ywz535, False, cga, fdc) → new_compare19(ywz534, ywz535, new_ltEs21(ywz534, ywz535, fdc), cga, fdc)
new_lt11(ywz598, ywz601, app(app(ty_Either, bgc), bgd)) → new_lt5(ywz598, ywz601, bgc, bgd)
new_ltEs23(ywz556, ywz557, ty_@0) → new_ltEs15(ywz556, ywz557)
new_ltEs7(Right(ywz5270), Right(ywz5280), eb, ty_Float) → new_ltEs6(ywz5270, ywz5280)
new_primPlusNat0(Succ(ywz504200), Succ(ywz58100)) → Succ(Succ(new_primPlusNat0(ywz504200, ywz58100)))
new_esEs30(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_ltEs19(ywz612, ywz614, ty_Ordering) → new_ltEs5(ywz612, ywz614)
new_compare0([], :(ywz4380, ywz4381), ba) → LT
new_esEs35(ywz599, ywz602, ty_Integer) → new_esEs25(ywz599, ywz602)
new_esEs37(ywz5270, ywz5280, app(app(ty_Either, bcf), bcg)) → new_esEs23(ywz5270, ywz5280, bcf, bcg)
new_esEs34(ywz598, ywz601, ty_Float) → new_esEs22(ywz598, ywz601)
new_asAs(True, ywz643) → ywz643
new_esEs6(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_ltEs5(GT, GT) → True
new_ltEs12(Just(ywz5270), Nothing, ega) → False
new_lt20(ywz611, ywz613, ty_Bool) → new_lt17(ywz611, ywz613)
new_lt23(ywz5271, ywz5281, ty_Double) → new_lt13(ywz5271, ywz5281)
new_esEs6(ywz4430, ywz4380, app(ty_[], ddb)) → new_esEs21(ywz4430, ywz4380, ddb)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Double, da) → new_ltEs8(ywz5270, ywz5280)
new_esEs6(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_esEs31(ywz44301, ywz43801, ty_@0) → new_esEs24(ywz44301, ywz43801)
new_compare6(Right(ywz4430), Left(ywz4380), cc, cd) → GT
new_compare15(Float(ywz4430, ywz4431), Float(ywz4380, ywz4381)) → new_compare8(new_sr(ywz4430, ywz4380), new_sr(ywz4431, ywz4381))
new_lt12(ywz599, ywz602, ty_Char) → new_lt10(ywz599, ywz602)
new_lt12(ywz599, ywz602, ty_Int) → new_lt7(ywz599, ywz602)
new_ltEs20(ywz5271, ywz5281, app(app(app(ty_@3, beb), bec), bed)) → new_ltEs10(ywz5271, ywz5281, beb, bec, bed)
new_esEs34(ywz598, ywz601, app(app(ty_@2, bha), bhb)) → new_esEs19(ywz598, ywz601, bha, bhb)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_Ratio, fga)) → new_esEs20(ywz44300, ywz43800, fga)
new_ltEs19(ywz612, ywz614, app(app(ty_@2, cee), cef)) → new_ltEs14(ywz612, ywz614, cee, cef)
new_compare16(EQ, LT) → GT
new_esEs31(ywz44301, ywz43801, ty_Bool) → new_esEs14(ywz44301, ywz43801)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Char) → new_esEs16(ywz44300, ywz43800)
new_ltEs19(ywz612, ywz614, app(app(app(ty_@3, cea), ceb), cec)) → new_ltEs10(ywz612, ywz614, cea, ceb, cec)
new_esEs10(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_esEs15(GT, GT) → True
new_compare19(ywz634, ywz635, False, efg, efh) → GT
new_ltEs24(ywz527, ywz528, app(ty_Maybe, ega)) → new_ltEs12(ywz527, ywz528, ega)
new_esEs29(ywz44302, ywz43802, ty_Bool) → new_esEs14(ywz44302, ywz43802)
new_esEs34(ywz598, ywz601, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs13(ywz598, ywz601, bge, bgf, bgg)
new_esEs7(ywz4431, ywz4381, app(ty_[], ded)) → new_esEs21(ywz4431, ywz4381, ded)
new_lt11(ywz598, ywz601, app(ty_Maybe, bgh)) → new_lt16(ywz598, ywz601, bgh)
new_esEs38(ywz5270, ywz5280, ty_@0) → new_esEs24(ywz5270, ywz5280)
new_ltEs24(ywz527, ywz528, app(app(app(ty_@3, gh), ff), fg)) → new_ltEs10(ywz527, ywz528, gh, ff, fg)
new_lt21(ywz5270, ywz5280, app(ty_Maybe, bdc)) → new_lt16(ywz5270, ywz5280, bdc)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_Maybe, fff)) → new_esEs17(ywz44300, ywz43800, fff)
new_esEs39(ywz5271, ywz5281, app(app(ty_@2, hh), baa)) → new_esEs19(ywz5271, ywz5281, hh, baa)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_compare6(Left(ywz4430), Left(ywz4380), cc, cd) → new_compare212(ywz4430, ywz4380, new_esEs4(ywz4430, ywz4380, cc), cc, cd)
new_primCompAux0(ywz521, EQ) → ywz521
new_ltEs5(GT, EQ) → False
new_esEs39(ywz5271, ywz5281, ty_Double) → new_esEs18(ywz5271, ywz5281)
new_lt22(ywz5270, ywz5280, app(ty_Ratio, fge)) → new_lt4(ywz5270, ywz5280, fge)
new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, chd, che, chf) → LT
new_esEs34(ywz598, ywz601, ty_Ordering) → new_esEs15(ywz598, ywz601)
new_ltEs21(ywz534, ywz535, ty_Int) → new_ltEs11(ywz534, ywz535)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs9(ywz4430, ywz4380, app(app(ty_@2, fce), fcf)) → new_esEs19(ywz4430, ywz4380, fce, fcf)
new_esEs8(ywz4432, ywz4382, app(ty_Maybe, dab)) → new_esEs17(ywz4432, ywz4382, dab)
new_primCmpInt(Neg(Succ(ywz44300)), Pos(ywz4380)) → LT
new_esEs11(ywz4431, ywz4381, ty_Ordering) → new_esEs15(ywz4431, ywz4381)
new_compare11(Double(ywz4430, ywz4431), Double(ywz4380, ywz4381)) → new_compare8(new_sr(ywz4430, ywz4380), new_sr(ywz4431, ywz4381))
new_compare210(ywz611, ywz612, ywz613, ywz614, True, cde, ceh) → EQ
new_not(True) → False
new_esEs39(ywz5271, ywz5281, app(ty_Maybe, hg)) → new_esEs17(ywz5271, ywz5281, hg)

The set Q consists of the following terms:

new_esEs17(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs23(Right(x0), Left(x1), x2, x3)
new_esEs23(Left(x0), Right(x1), x2, x3)
new_esEs17(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_ltEs22(x0, x1, ty_Integer)
new_compare12(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs7(x0, x1, ty_@0)
new_lt12(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs23(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs21(:(x0, x1), :(x2, x3), x4)
new_compare27(Nothing, Nothing, x0)
new_esEs10(x0, x1, ty_Integer)
new_ltEs9(x0, x1, x2)
new_esEs37(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Int)
new_pePe(False, x0)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Ordering)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Succ(x0), Zero)
new_esEs35(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_fsEs(x0)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, ty_Int)
new_esEs37(x0, x1, ty_Float)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Double)
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, ty_Float)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, ty_Integer)
new_compare27(Just(x0), Just(x1), x2)
new_esEs29(x0, x1, ty_Bool)
new_ltEs23(x0, x1, ty_Float)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Int)
new_ltEs12(Just(x0), Nothing, x1)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs9(x0, x1, ty_Integer)
new_compare16(EQ, GT)
new_compare16(GT, EQ)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_@0)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, ty_@0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt8(x0, x1)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(Just(x0), Nothing, x1)
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_esEs31(x0, x1, ty_Int)
new_ltEs6(x0, x1)
new_esEs23(Right(x0), Right(x1), x2, ty_Int)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, ty_Float)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(x0, x1, x2)
new_ltEs5(GT, EQ)
new_ltEs5(EQ, GT)
new_compare30(Integer(x0), Integer(x1))
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs39(x0, x1, ty_Integer)
new_esEs5(x0, x1, ty_Ordering)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1)
new_ltEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Integer)
new_compare26(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Int)
new_esEs23(Right(x0), Right(x1), x2, ty_Integer)
new_compare26(x0, x1, ty_Int)
new_esEs19(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs18(x0, x1, ty_Bool)
new_lt11(x0, x1, ty_Char)
new_compare14(x0, x1, x2, x3, True, x4, x5)
new_esEs23(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Double)
new_esEs23(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Integer)
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_esEs23(Right(x0), Right(x1), x2, ty_Char)
new_esEs22(Float(x0, x1), Float(x2, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, ty_@0)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_compare212(x0, x1, False, x2, x3)
new_esEs17(Just(x0), Just(x1), ty_@0)
new_esEs31(x0, x1, ty_Ordering)
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_lt9(x0, x1, x2)
new_esEs38(x0, x1, ty_Integer)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs14(True, True)
new_esEs17(Just(x0), Just(x1), ty_Ordering)
new_esEs35(x0, x1, ty_Char)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare29(@0, @0)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs5(LT, EQ)
new_ltEs5(EQ, LT)
new_esEs6(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, ty_@0)
new_esEs23(Left(x0), Left(x1), ty_Char, x2)
new_esEs11(x0, x1, ty_Char)
new_lt11(x0, x1, app(app(ty_Either, x2), x3))
new_compare26(x0, x1, ty_Ordering)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Ordering)
new_primEqNat0(Zero, Zero)
new_compare15(Float(x0, x1), Float(x2, x3))
new_esEs6(x0, x1, ty_Ordering)
new_compare16(EQ, LT)
new_ltEs20(x0, x1, ty_Bool)
new_compare16(LT, EQ)
new_ltEs17(x0, x1)
new_ltEs20(x0, x1, ty_Double)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_lt12(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, ty_Char)
new_compare26(x0, x1, ty_Integer)
new_lt12(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Float)
new_compare28(True, True)
new_esEs34(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Bool)
new_esEs23(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, x2, x3)
new_compare16(LT, LT)
new_esEs23(Right(x0), Right(x1), x2, ty_Float)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs8(x0, x1, ty_@0)
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_esEs7(x0, x1, ty_Float)
new_esEs25(Integer(x0), Integer(x1))
new_esEs8(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_Ordering)
new_compare0([], :(x0, x1), x2)
new_primMulNat0(Zero, Zero)
new_esEs5(x0, x1, ty_@0)
new_lt23(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Int)
new_esEs17(Just(x0), Just(x1), ty_Double)
new_esEs10(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs12(LT)
new_lt23(x0, x1, ty_Integer)
new_primEqNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Float)
new_esEs23(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs27(x0, x1, ty_Int)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, ty_Integer)
new_lt11(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, ty_@0)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_esEs6(x0, x1, ty_Double)
new_lt12(x0, x1, ty_Int)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_lt11(x0, x1, ty_Double)
new_esEs40(x0, x1, ty_Char)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs17(Just(x0), Just(x1), app(ty_[], x2))
new_lt17(x0, x1)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_esEs34(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt12(x0, x1, ty_@0)
new_lt11(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs36(x0, x1, ty_Double)
new_esEs36(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_esEs39(x0, x1, app(ty_[], x2))
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_lt14(x0, x1)
new_lt22(x0, x1, ty_Bool)
new_lt12(x0, x1, ty_Bool)
new_esEs39(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Int)
new_compare6(Right(x0), Right(x1), x2, x3)
new_primCompAux1(x0, x1, x2, x3)
new_lt22(x0, x1, app(ty_[], x2))
new_esEs11(x0, x1, ty_Int)
new_esEs36(x0, x1, app(ty_[], x2))
new_lt18(x0, x1)
new_lt21(x0, x1, ty_Ordering)
new_ltEs24(x0, x1, ty_Double)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, ty_Ordering)
new_esEs23(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs4(x0, x1, ty_@0)
new_compare6(Left(x0), Left(x1), x2, x3)
new_esEs23(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs24(@0, @0)
new_esEs10(x0, x1, ty_Float)
new_esEs17(Just(x0), Just(x1), ty_Int)
new_lt23(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs30(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Ordering)
new_compare212(x0, x1, True, x2, x3)
new_primPlusNat0(Succ(x0), Zero)
new_esEs4(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Integer)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, ty_Int)
new_compare0([], [], x0)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_@0)
new_esEs26(x0, x1)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Nothing, x0)
new_esEs18(Double(x0, x1), Double(x2, x3))
new_lt12(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_@0)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_@0)
new_ltEs13(True, True)
new_lt4(x0, x1, x2)
new_pePe(True, x0)
new_esEs7(x0, x1, ty_Bool)
new_esEs23(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt12(x0, x1, ty_Ordering)
new_primPlusNat0(Zero, Zero)
new_lt20(x0, x1, ty_Float)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt11(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_lt21(x0, x1, app(ty_[], x2))
new_compare18(Char(x0), Char(x1))
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs14(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Double)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21([], [], x0)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs23(Right(x0), Right(x1), x2, ty_Double)
new_esEs38(x0, x1, ty_Double)
new_esEs34(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Double)
new_compare211(x0, x1, False, x2, x3)
new_esEs23(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs23(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs13(False, False)
new_compare26(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Integer)
new_esEs23(Left(x0), Left(x1), ty_Float, x2)
new_compare28(False, False)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Pos(Zero))
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_compare0(:(x0, x1), [], x2)
new_ltEs24(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_Ordering)
new_esEs15(LT, LT)
new_ltEs13(False, True)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_ltEs13(True, False)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs39(x0, x1, ty_Ordering)
new_esEs39(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Float)
new_esEs33(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, ty_Integer)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs15(EQ, GT)
new_esEs15(GT, EQ)
new_esEs40(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Float)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Double)
new_lt11(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Double)
new_lt16(x0, x1, x2)
new_lt15(x0, x1, x2, x3, x4)
new_primPlusNat0(Succ(x0), Succ(x1))
new_sr0(Integer(x0), Integer(x1))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Nothing, Just(x0), x1)
new_compare19(x0, x1, False, x2, x3)
new_esEs17(Just(x0), Just(x1), ty_Bool)
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Float)
new_primCmpNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs31(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Int)
new_ltEs19(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Integer)
new_compare28(True, False)
new_compare28(False, True)
new_esEs17(Just(x0), Nothing, x1)
new_esEs40(x0, x1, ty_Double)
new_ltEs23(x0, x1, ty_@0)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, ty_Integer)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Double)
new_ltEs18(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs17(Just(x0), Just(x1), ty_Integer)
new_ltEs23(x0, x1, ty_Integer)
new_esEs7(x0, x1, ty_Integer)
new_lt11(x0, x1, ty_Integer)
new_compare19(x0, x1, True, x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs23(Right(x0), Right(x1), x2, ty_@0)
new_esEs39(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Double)
new_esEs34(x0, x1, ty_Ordering)
new_esEs23(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs22(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Ordering)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs16(Char(x0), Char(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_compare211(x0, x1, True, x2, x3)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, ty_Ordering)
new_ltEs15(x0, x1)
new_esEs30(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs17(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs22(x0, x1, ty_Char)
new_compare11(Double(x0, x1), Double(x2, x3))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, ty_@0)
new_lt12(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Char)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(Right(x0), Left(x1), x2, x3)
new_compare6(Left(x0), Right(x1), x2, x3)
new_lt20(x0, x1, ty_Char)
new_esEs40(x0, x1, ty_Bool)
new_compare26(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Bool)
new_esEs14(True, False)
new_esEs14(False, True)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Double)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Char)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Bool)
new_lt12(x0, x1, ty_Char)
new_lt12(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare17(x0, x1, True, x2)
new_ltEs23(x0, x1, ty_Bool)
new_esEs4(x0, x1, ty_Char)
new_compare16(GT, GT)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, ty_Int)
new_primMulNat0(Succ(x0), Zero)
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Float)
new_compare27(Nothing, Just(x0), x1)
new_compare213(x0, x1, True, x2)
new_ltEs21(x0, x1, ty_Float)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs17(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt7(x0, x1)
new_lt10(x0, x1)
new_lt22(x0, x1, ty_Double)
new_esEs40(x0, x1, ty_Float)
new_lt11(x0, x1, ty_Ordering)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_ltEs19(x0, x1, ty_Float)
new_esEs23(Left(x0), Left(x1), ty_Integer, x2)
new_esEs35(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_compare7(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs39(x0, x1, ty_Double)
new_ltEs16(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_ltEs22(x0, x1, ty_@0)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare110(x0, x1, True, x2, x3)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_Float)
new_lt11(x0, x1, app(app(ty_@2, x2), x3))
new_asAs(False, x0)
new_ltEs5(LT, GT)
new_ltEs5(GT, LT)
new_compare9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt20(x0, x1, ty_Ordering)
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_Double)
new_esEs11(x0, x1, ty_Bool)
new_lt11(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_lt23(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs23(Left(x0), Left(x1), ty_Int, x2)
new_esEs8(x0, x1, ty_Int)
new_compare17(x0, x1, False, x2)
new_esEs21(:(x0, x1), [], x2)
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs36(x0, x1, ty_Float)
new_esEs20(:%(x0, x1), :%(x2, x3), x4)
new_ltEs8(x0, x1)
new_esEs4(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Integer)
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_compare26(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_@0)
new_lt23(x0, x1, ty_@0)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, x2, x3)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(GT, GT)
new_lt23(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs23(Left(x0), Left(x1), ty_Double, x2)
new_compare26(x0, x1, ty_Double)
new_compare25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs34(x0, x1, ty_Integer)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_compare26(x0, x1, app(app(ty_Either, x2), x3))
new_compare26(x0, x1, ty_Float)
new_compare213(x0, x1, False, x2)
new_ltEs5(GT, GT)
new_esEs15(LT, GT)
new_esEs15(GT, LT)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs10(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs17(Nothing, Just(x0), x1)
new_esEs10(x0, x1, ty_Ordering)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_Double)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_ltEs20(x0, x1, ty_Float)
new_esEs23(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare14(x0, x1, x2, x3, False, x4, x5)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Int)
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs29(x0, x1, ty_Char)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Char)
new_primCompAux0(x0, GT)
new_lt11(x0, x1, ty_@0)
new_esEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Double)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs10(x0, x1, ty_Bool)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Bool)
new_esEs33(x0, x1, ty_Int)
new_not(True)
new_esEs37(x0, x1, ty_Int)
new_compare5(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_primCompAux0(x0, EQ)
new_esEs40(x0, x1, ty_Int)
new_compare5(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs15(EQ, EQ)
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs23(x0, x1, ty_Char)
new_esEs32(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_@0)
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Int)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_esEs7(x0, x1, ty_Char)
new_not(False)
new_esEs35(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Int)
new_primCmpInt(Neg(Succ(x0)), Neg(Zero))
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Ordering)
new_lt22(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_@0)
new_esEs12(EQ)
new_ltEs5(EQ, EQ)
new_esEs17(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(x0, x1, ty_Double)
new_ltEs21(x0, x1, ty_Char)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_lt22(x0, x1, ty_Int)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Double)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Float)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Ordering)
new_esEs17(Nothing, Nothing, x0)
new_primMulNat0(Zero, Succ(x0))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_compare110(x0, x1, False, x2, x3)
new_ltEs18(x0, x1, ty_Ordering)
new_compare26(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_@0)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, app(ty_Ratio, x2))
new_esEs40(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs21([], :(x0, x1), x2)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, ty_Ordering)
new_ltEs11(x0, x1)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_esEs39(x0, x1, ty_@0)
new_ltEs24(x0, x1, ty_Char)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_@0)
new_esEs23(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, LT)
new_esEs30(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs36(x0, x1, ty_Int)
new_esEs23(Left(x0), Left(x1), ty_@0, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_Float)
new_ltEs18(x0, x1, ty_Char)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_sr(x0, x1)
new_esEs17(Just(x0), Just(x1), ty_Char)
new_compare16(EQ, EQ)
new_esEs7(x0, x1, ty_Double)
new_compare12(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(GT)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs23(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs15(LT, EQ)
new_esEs15(EQ, LT)
new_esEs8(x0, x1, ty_Bool)
new_esEs14(False, False)
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_compare25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs23(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs5(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Float)
new_esEs6(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, ty_Ordering)
new_asAs(True, x0)
new_compare16(GT, LT)
new_compare16(LT, GT)
new_esEs36(x0, x1, ty_Char)
new_lt22(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_lt23(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Double)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_@0)
new_esEs11(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Ordering)
new_esEs40(x0, x1, ty_@0)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Int)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(LT, LT)
new_esEs32(x0, x1, ty_Integer)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), ty_Float)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_addToFM_C2(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, True, bb, bc) → new_addToFM_C0(ywz441, ywz443, ywz444, bb, bc)
new_mkBalBranch6MkBalBranch5(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, True, h, ba) → new_addToFM_C0(ywz473, ywz474, ywz475, h, ba)
new_addToFM_C2(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, False, bb, bc) → new_addToFM_C1(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, new_gt(ywz443, ywz438, bb), bb, bc)
new_addToFM_C1(ywz469, ywz470, ywz471, ywz472, ywz473, ywz474, ywz475, True, h, ba) → new_addToFM_C0(ywz473, ywz474, ywz475, h, ba)
new_addToFM_C0(Branch(ywz4410, ywz4411, ywz4412, ywz4413, ywz4414), ywz443, ywz444, bb, bc) → new_addToFM_C3(ywz4410, ywz4411, ywz4412, ywz4413, ywz4414, ywz443, ywz444, bb, bc)
new_addToFM_C2(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, True, bb, bc) → new_mkBalBranch6MkBalBranch50(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), bb, bc), new_mkBalBranch6Size_r(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), bb, bc)), Pos(Succ(Succ(Zero)))), bb, bc)
new_mkBalBranch6MkBalBranch50(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, False, bb, bc) → new_addToFM_C0(ywz441, ywz443, ywz444, bb, bc)
new_mkBalBranch6MkBalBranch50(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, True, bb, bc) → new_addToFM_C0(ywz441, ywz443, ywz444, bb, bc)
new_addToFM_C1(ywz469, ywz470, ywz471, ywz472, ywz473, ywz474, ywz475, True, h, ba) → new_mkBalBranch6MkBalBranch5(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, h, ba), new_mkBalBranch6Size_r(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_addToFM_C3(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, bd, be) → new_addToFM_C2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, new_lt24(ywz35, ywz290, bd), bd, be)
new_mkBalBranch6MkBalBranch5(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, False, h, ba) → new_addToFM_C0(ywz473, ywz474, ywz475, h, ba)

The TRS R consists of the following rules:

new_esEs33(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_ltEs22(ywz5272, ywz5282, app(ty_Ratio, ffh)) → new_ltEs4(ywz5272, ywz5282, ffh)
new_esEs4(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_lt11(ywz598, ywz601, ty_Bool) → new_lt17(ywz598, ywz601)
new_esEs36(ywz611, ywz613, app(ty_Maybe, dhh)) → new_esEs17(ywz611, ywz613, dhh)
new_esEs36(ywz611, ywz613, app(ty_Ratio, eaa)) → new_esEs20(ywz611, ywz613, eaa)
new_ltEs21(ywz534, ywz535, app(ty_[], ehf)) → new_ltEs9(ywz534, ywz535, ehf)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Integer, bbb) → new_esEs25(ywz44300, ywz43800)
new_addToFM_C(Branch(ywz4410, ywz4411, ywz4412, ywz4413, ywz4414), ywz443, ywz444, bb, bc) → new_addToFM_C30(ywz4410, ywz4411, ywz4412, ywz4413, ywz4414, ywz443, ywz444, bb, bc)
new_esEs4(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_compare110(ywz627, ywz628, True, bde, bdf) → LT
new_esEs8(ywz4432, ywz4382, ty_Integer) → new_esEs25(ywz4432, ywz4382)
new_lt22(ywz5270, ywz5280, ty_Ordering) → new_lt8(ywz5270, ywz5280)
new_ltEs22(ywz5272, ywz5282, ty_Bool) → new_ltEs13(ywz5272, ywz5282)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_compare14(ywz680, ywz681, ywz682, ywz683, False, cdf, cdg) → GT
new_addToFM_C30(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, bd, be) → new_addToFM_C20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, new_lt24(ywz35, ywz290, bd), bd, be)
new_esEs15(EQ, EQ) → True
new_esEs37(ywz5270, ywz5280, app(ty_Maybe, ecd)) → new_esEs17(ywz5270, ywz5280, ecd)
new_esEs28(ywz44301, ywz43801, ty_Char) → new_esEs16(ywz44301, ywz43801)
new_esEs38(ywz5270, ywz5280, ty_Float) → new_esEs22(ywz5270, ywz5280)
new_esEs34(ywz598, ywz601, app(ty_Ratio, dea)) → new_esEs20(ywz598, ywz601, dea)
new_esEs29(ywz44302, ywz43802, app(ty_[], chf)) → new_esEs21(ywz44302, ywz43802, chf)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_[], dac)) → new_ltEs9(ywz5270, ywz5280, dac)
new_esEs29(ywz44302, ywz43802, app(ty_Ratio, che)) → new_esEs20(ywz44302, ywz43802, che)
new_ltEs12(Nothing, Nothing, bha) → True
new_lt20(ywz611, ywz613, ty_@0) → new_lt18(ywz611, ywz613)
new_ltEs7(Left(ywz5270), Right(ywz5280), gg, fc) → True
new_esEs35(ywz599, ywz602, app(app(ty_Either, dee), def)) → new_esEs23(ywz599, ywz602, dee, def)
new_ltEs20(ywz5271, ywz5281, ty_@0) → new_ltEs15(ywz5271, ywz5281)
new_lt12(ywz599, ywz602, ty_@0) → new_lt18(ywz599, ywz602)
new_esEs39(ywz5271, ywz5281, app(ty_[], fdg)) → new_esEs21(ywz5271, ywz5281, fdg)
new_esEs36(ywz611, ywz613, ty_@0) → new_esEs24(ywz611, ywz613)
new_esEs8(ywz4432, ywz4382, app(ty_Ratio, cdb)) → new_esEs20(ywz4432, ywz4382, cdb)
new_ltEs24(ywz527, ywz528, app(app(ty_@2, bhc), bhd)) → new_ltEs14(ywz527, ywz528, bhc, bhd)
new_esEs35(ywz599, ywz602, app(app(ty_@2, dfd), dfe)) → new_esEs19(ywz599, ywz602, dfd, dfe)
new_ltEs18(ywz600, ywz603, ty_Char) → new_ltEs16(ywz600, ywz603)
new_esEs11(ywz4431, ywz4381, ty_Integer) → new_esEs25(ywz4431, ywz4381)
new_esEs38(ywz5270, ywz5280, ty_Integer) → new_esEs25(ywz5270, ywz5280)
new_lt21(ywz5270, ywz5280, app(ty_Ratio, ece)) → new_lt4(ywz5270, ywz5280, ece)
new_ltEs24(ywz527, ywz528, ty_Double) → new_ltEs8(ywz527, ywz528)
new_esEs5(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs18(ywz600, ywz603, app(ty_[], dff)) → new_ltEs9(ywz600, ywz603, dff)
new_ltEs20(ywz5271, ywz5281, ty_Int) → new_ltEs11(ywz5271, ywz5281)
new_lt17(ywz35, ywz290) → new_esEs12(new_compare28(ywz35, ywz290))
new_esEs31(ywz44301, ywz43801, app(app(ty_@2, ee), ef)) → new_esEs19(ywz44301, ywz43801, ee, ef)
new_compare16(LT, GT) → LT
new_esEs29(ywz44302, ywz43802, ty_@0) → new_esEs24(ywz44302, ywz43802)
new_lt23(ywz5271, ywz5281, ty_Integer) → new_lt19(ywz5271, ywz5281)
new_ltEs20(ywz5271, ywz5281, app(ty_[], ech)) → new_ltEs9(ywz5271, ywz5281, ech)
new_mkBranch2(ywz789, ywz790, ywz791, ywz792, ywz793, ywz794, ywz795, ywz796, ywz797, ywz798, ywz799, daa, dab) → new_mkBranchResult(ywz790, ywz791, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz796, ywz797, ywz798, ywz799, daa, dab), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz792, ywz793, ywz794, ywz795, daa, dab), daa, dab)
new_ltEs5(EQ, LT) → False
new_gt(ywz443, ywz438, app(ty_[], bfe)) → new_esEs41(new_compare0(ywz443, ywz438, bfe))
new_esEs37(ywz5270, ywz5280, ty_Int) → new_esEs26(ywz5270, ywz5280)
new_ltEs13(True, False) → False
new_esEs7(ywz4431, ywz4381, ty_Bool) → new_esEs14(ywz4431, ywz4381)
new_ltEs23(ywz556, ywz557, app(app(ty_@2, gaf), gag)) → new_ltEs14(ywz556, ywz557, gaf, gag)
new_lt23(ywz5271, ywz5281, ty_Float) → new_lt14(ywz5271, ywz5281)
new_esEs29(ywz44302, ywz43802, app(app(app(ty_@3, cgg), cgh), cha)) → new_esEs13(ywz44302, ywz43802, cgg, cgh, cha)
new_esEs4(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_lt23(ywz5271, ywz5281, ty_Int) → new_lt7(ywz5271, ywz5281)
new_compare6(Left(ywz4430), Right(ywz4380), egh, eha) → LT
new_esEs28(ywz44301, ywz43801, app(app(ty_Either, cge), cgf)) → new_esEs23(ywz44301, ywz43801, cge, cgf)
new_esEs38(ywz5270, ywz5280, ty_Double) → new_esEs18(ywz5270, ywz5280)
new_esEs10(ywz4430, ywz4380, app(ty_Ratio, efb)) → new_esEs20(ywz4430, ywz4380, efb)
new_pePe(False, ywz757) → ywz757
new_esEs36(ywz611, ywz613, app(app(app(ty_@3, dhe), dhf), dhg)) → new_esEs13(ywz611, ywz613, dhe, dhf, dhg)
new_lt22(ywz5270, ywz5280, app(app(app(ty_@3, fch), fda), fdb)) → new_lt15(ywz5270, ywz5280, fch, fda, fdb)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, app(app(ty_@2, hh), baa)) → new_ltEs14(ywz5270, ywz5280, hh, baa)
new_esEs35(ywz599, ywz602, ty_Bool) → new_esEs14(ywz599, ywz602)
new_compare26(ywz4430, ywz4380, ty_Float) → new_compare15(ywz4430, ywz4380)
new_esEs27(ywz44300, ywz43800, app(app(app(ty_@3, cec), ced), cee)) → new_esEs13(ywz44300, ywz43800, cec, ced, cee)
new_esEs10(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, app(ty_Ratio, hg)) → new_ltEs4(ywz5270, ywz5280, hg)
new_mkBalBranch6Size_r(ywz438, ywz439, ywz442, ywz573, bb, bc) → new_sizeFM(ywz442, bb, bc)
new_esEs4(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_lt22(ywz5270, ywz5280, ty_Double) → new_lt13(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_gt(ywz443, ywz438, ty_Double) → new_esEs41(new_compare11(ywz443, ywz438))
new_lt13(ywz35, ywz290) → new_esEs12(new_compare11(ywz35, ywz290))
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Integer) → new_ltEs17(ywz5270, ywz5280)
new_esEs9(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_lt21(ywz5270, ywz5280, ty_Char) → new_lt10(ywz5270, ywz5280)
new_esEs37(ywz5270, ywz5280, ty_Double) → new_esEs18(ywz5270, ywz5280)
new_esEs12(GT) → False
new_esEs6(ywz4430, ywz4380, app(app(ty_@2, cad), cae)) → new_esEs19(ywz4430, ywz4380, cad, cae)
new_esEs10(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, app(app(app(ty_@3, hc), hd), he)) → new_ltEs10(ywz5270, ywz5280, hc, hd, he)
new_lt22(ywz5270, ywz5280, app(app(ty_Either, fcf), fcg)) → new_lt5(ywz5270, ywz5280, fcf, fcg)
new_lt12(ywz599, ywz602, app(app(ty_Either, dee), def)) → new_lt5(ywz599, ywz602, dee, def)
new_esEs30(ywz44300, ywz43800, app(app(ty_Either, dg), dh)) → new_esEs23(ywz44300, ywz43800, dg, dh)
new_esEs8(ywz4432, ywz4382, ty_Int) → new_esEs26(ywz4432, ywz4382)
new_esEs15(EQ, GT) → False
new_esEs15(GT, EQ) → False
new_esEs40(ywz44300, ywz43800, app(app(app(ty_@3, gah), gba), gbb)) → new_esEs13(ywz44300, ywz43800, gah, gba, gbb)
new_mkBranch3(ywz821, ywz822, ywz823, ywz824, ywz825, ywz826, ywz827, ywz828, ywz829, ywz830, ywz831, fcc, fcd) → new_mkBranch1(ywz821, ywz822, ywz823, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz824, ywz825, ywz826, ywz827, fcc, fcd), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz828, ywz829, ywz830, ywz831, fcc, fcd), fcc, fcd)
new_lt23(ywz5271, ywz5281, ty_Ordering) → new_lt8(ywz5271, ywz5281)
new_ltEs15(ywz527, ywz528) → new_fsEs(new_compare29(ywz527, ywz528))
new_esEs40(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_compare210(ywz611, ywz612, ywz613, ywz614, False, dgh, dha) → new_compare13(ywz611, ywz612, ywz613, ywz614, new_lt20(ywz611, ywz613, dgh), new_asAs(new_esEs36(ywz611, ywz613, dgh), new_ltEs19(ywz612, ywz614, dha)), dgh, dha)
new_esEs40(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_lt24(ywz35, ywz290, app(app(ty_Either, bff), bfg)) → new_lt5(ywz35, ywz290, bff, bfg)
new_pePe(True, ywz757) → True
new_compare0([], [], bfe) → EQ
new_esEs38(ywz5270, ywz5280, ty_Char) → new_esEs16(ywz5270, ywz5280)
new_primEqNat0(Zero, Zero) → True
new_esEs27(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_compare16(LT, LT) → EQ
new_esEs29(ywz44302, ywz43802, ty_Integer) → new_esEs25(ywz44302, ywz43802)
new_esEs5(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs12(EQ) → False
new_esEs40(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_lt20(ywz611, ywz613, app(ty_[], dhb)) → new_lt9(ywz611, ywz613, dhb)
new_compare30(Integer(ywz4430), Integer(ywz4380)) → new_primCmpInt(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_Maybe, bbc), bbb) → new_esEs17(ywz44300, ywz43800, bbc)
new_esEs31(ywz44301, ywz43801, ty_Float) → new_esEs22(ywz44301, ywz43801)
new_compare110(ywz627, ywz628, False, bde, bdf) → GT
new_esEs11(ywz4431, ywz4381, ty_Char) → new_esEs16(ywz4431, ywz4381)
new_esEs29(ywz44302, ywz43802, app(ty_Maybe, chb)) → new_esEs17(ywz44302, ywz43802, chb)
new_lt22(ywz5270, ywz5280, app(ty_[], fce)) → new_lt9(ywz5270, ywz5280, fce)
new_esEs37(ywz5270, ywz5280, ty_Float) → new_esEs22(ywz5270, ywz5280)
new_esEs5(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_esEs31(ywz44301, ywz43801, app(app(ty_Either, fa), fb)) → new_esEs23(ywz44301, ywz43801, fa, fb)
new_esEs28(ywz44301, ywz43801, ty_@0) → new_esEs24(ywz44301, ywz43801)
new_ltEs5(LT, LT) → True
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_@0, fc) → new_ltEs15(ywz5270, ywz5280)
new_lt21(ywz5270, ywz5280, ty_Ordering) → new_lt8(ywz5270, ywz5280)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(app(ty_@3, bag), bah), bba), bbb) → new_esEs13(ywz44300, ywz43800, bag, bah, bba)
new_addToFM_C20(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, True, bb, bc) → new_mkBalBranch6MkBalBranch52(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), bb, bc), new_mkBalBranch6Size_r(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), bb, bc)), Pos(Succ(Succ(Zero)))), bb, bc)
new_ps(ywz709, ywz708) → new_primPlusInt(ywz709, ywz708)
new_lt11(ywz598, ywz601, app(app(app(ty_@3, dde), ddf), ddg)) → new_lt15(ywz598, ywz601, dde, ddf, ddg)
new_primEqInt(Neg(Succ(ywz443000)), Neg(Succ(ywz438000))) → new_primEqNat0(ywz443000, ywz438000)
new_ltEs21(ywz534, ywz535, ty_Integer) → new_ltEs17(ywz534, ywz535)
new_ltEs18(ywz600, ywz603, app(app(ty_Either, dfg), dfh)) → new_ltEs7(ywz600, ywz603, dfg, dfh)
new_esEs9(ywz4430, ywz4380, app(app(app(ty_@3, fgc), fgd), fge)) → new_esEs13(ywz4430, ywz4380, fgc, fgd, fge)
new_esEs10(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(ty_@2, bbd), bbe), bbb) → new_esEs19(ywz44300, ywz43800, bbd, bbe)
new_esEs32(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_esEs6(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_esEs30(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_lt24(ywz35, ywz290, ty_Char) → new_lt10(ywz35, ywz290)
new_compare213(ywz556, ywz557, True, fhe) → EQ
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_compare26(ywz4430, ywz4380, app(app(ty_@2, dce), dcf)) → new_compare7(ywz4430, ywz4380, dce, dcf)
new_ltEs7(Right(ywz5270), Left(ywz5280), gg, fc) → False
new_esEs30(ywz44300, ywz43800, app(app(ty_@2, dc), dd)) → new_esEs19(ywz44300, ywz43800, dc, dd)
new_esEs8(ywz4432, ywz4382, app(app(ty_@2, cch), cda)) → new_esEs19(ywz4432, ywz4382, cch, cda)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Int, fc) → new_ltEs11(ywz5270, ywz5280)
new_compare8(ywz443, ywz438) → new_primCmpInt(ywz443, ywz438)
new_esEs39(ywz5271, ywz5281, ty_Char) → new_esEs16(ywz5271, ywz5281)
new_primCompAux0(ywz521, GT) → GT
new_esEs21([], [], fah) → True
new_ltEs21(ywz534, ywz535, ty_Bool) → new_ltEs13(ywz534, ywz535)
new_lt21(ywz5270, ywz5280, ty_Float) → new_lt14(ywz5270, ywz5280)
new_lt20(ywz611, ywz613, ty_Ordering) → new_lt8(ywz611, ywz613)
new_esEs6(ywz4430, ywz4380, app(ty_Ratio, caf)) → new_esEs20(ywz4430, ywz4380, caf)
new_lt11(ywz598, ywz601, app(ty_[], ddb)) → new_lt9(ywz598, ywz601, ddb)
new_lt21(ywz5270, ywz5280, app(app(ty_Either, ebg), ebh)) → new_lt5(ywz5270, ywz5280, ebg, ebh)
new_ltEs22(ywz5272, ywz5282, ty_Int) → new_ltEs11(ywz5272, ywz5282)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_ltEs19(ywz612, ywz614, ty_Bool) → new_ltEs13(ywz612, ywz614)
new_esEs28(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_ltEs19(ywz612, ywz614, app(ty_Ratio, ebc)) → new_ltEs4(ywz612, ywz614, ebc)
new_esEs9(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_primEqInt(Pos(Succ(ywz443000)), Pos(Succ(ywz438000))) → new_primEqNat0(ywz443000, ywz438000)
new_mkBalBranch6MkBalBranch52(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, True, bb, bc) → new_mkBranchResult(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), bb, bc)
new_ltEs18(ywz600, ywz603, ty_Double) → new_ltEs8(ywz600, ywz603)
new_ltEs19(ywz612, ywz614, ty_Integer) → new_ltEs17(ywz612, ywz614)
new_lt14(ywz35, ywz290) → new_esEs12(new_compare15(ywz35, ywz290))
new_esEs11(ywz4431, ywz4381, ty_Bool) → new_esEs14(ywz4431, ywz4381)
new_lt20(ywz611, ywz613, ty_Int) → new_lt7(ywz611, ywz613)
new_esEs28(ywz44301, ywz43801, ty_Ordering) → new_esEs15(ywz44301, ywz43801)
new_esEs28(ywz44301, ywz43801, app(app(ty_@2, cga), cgb)) → new_esEs19(ywz44301, ywz43801, cga, cgb)
new_primEqNat0(Succ(ywz443000), Succ(ywz438000)) → new_primEqNat0(ywz443000, ywz438000)
new_esEs35(ywz599, ywz602, ty_Float) → new_esEs22(ywz599, ywz602)
new_esEs39(ywz5271, ywz5281, ty_Bool) → new_esEs14(ywz5271, ywz5281)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Double) → new_esEs18(ywz44300, ywz43800)
new_ltEs18(ywz600, ywz603, ty_Float) → new_ltEs6(ywz600, ywz603)
new_compare26(ywz4430, ywz4380, ty_Bool) → new_compare28(ywz4430, ywz4380)
new_ltEs20(ywz5271, ywz5281, ty_Char) → new_ltEs16(ywz5271, ywz5281)
new_compare12(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, ywz672, bf, bg, bh) → new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, bf, bg, bh)
new_ltEs19(ywz612, ywz614, app(app(ty_Either, eae), eaf)) → new_ltEs7(ywz612, ywz614, eae, eaf)
new_mkBranch0(ywz780, ywz781, ywz782, ywz783, ywz784, ywz785, ywz786, ywz787, cb, cc) → new_mkBranchResult(ywz780, ywz781, new_mkBranch1(ywz783, ywz784, ywz785, ywz786, ywz787, cb, cc), ywz782, cb, cc)
new_lt11(ywz598, ywz601, app(app(ty_@2, deb), dec)) → new_lt6(ywz598, ywz601, deb, dec)
new_ltEs24(ywz527, ywz528, ty_Int) → new_ltEs11(ywz527, ywz528)
new_esEs22(Float(ywz44300, ywz44301), Float(ywz43800, ywz43801)) → new_esEs26(new_sr(ywz44300, ywz43800), new_sr(ywz44301, ywz43801))
new_compare213(ywz556, ywz557, False, fhe) → new_compare17(ywz556, ywz557, new_ltEs23(ywz556, ywz557, fhe), fhe)
new_esEs11(ywz4431, ywz4381, ty_Int) → new_esEs26(ywz4431, ywz4381)
new_lt21(ywz5270, ywz5280, ty_Double) → new_lt13(ywz5270, ywz5280)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Double) → new_ltEs8(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, ty_Integer) → new_lt19(ywz598, ywz601)
new_ltEs20(ywz5271, ywz5281, app(ty_Maybe, edf)) → new_ltEs12(ywz5271, ywz5281, edf)
new_ltEs8(ywz527, ywz528) → new_fsEs(new_compare11(ywz527, ywz528))
new_ltEs24(ywz527, ywz528, ty_@0) → new_ltEs15(ywz527, ywz528)
new_esEs7(ywz4431, ywz4381, app(app(ty_Either, ccb), ccc)) → new_esEs23(ywz4431, ywz4381, ccb, ccc)
new_esEs18(Double(ywz44300, ywz44301), Double(ywz43800, ywz43801)) → new_esEs26(new_sr(ywz44300, ywz43800), new_sr(ywz44301, ywz43801))
new_ltEs22(ywz5272, ywz5282, ty_Float) → new_ltEs6(ywz5272, ywz5282)
new_lt12(ywz599, ywz602, app(ty_[], ded)) → new_lt9(ywz599, ywz602, ded)
new_esEs29(ywz44302, ywz43802, ty_Double) → new_esEs18(ywz44302, ywz43802)
new_esEs10(ywz4430, ywz4380, app(app(app(ty_@3, eed), eee), eef)) → new_esEs13(ywz4430, ywz4380, eed, eee, eef)
new_compare212(ywz527, ywz528, False, bgc, bgd) → new_compare110(ywz527, ywz528, new_ltEs24(ywz527, ywz528, bgc), bgc, bgd)
new_esEs4(ywz4430, ywz4380, app(app(ty_Either, bcb), bbb)) → new_esEs23(ywz4430, ywz4380, bcb, bbb)
new_gt(ywz443, ywz438, app(app(app(ty_@3, bhe), bhf), bhg)) → new_esEs41(new_compare9(ywz443, ywz438, bhe, bhf, bhg))
new_ltEs20(ywz5271, ywz5281, ty_Integer) → new_ltEs17(ywz5271, ywz5281)
new_lt24(ywz35, ywz290, ty_Bool) → new_lt17(ywz35, ywz290)
new_lt18(ywz50, ywz60) → new_esEs12(new_compare29(ywz50, ywz60))
new_mkBalBranch6MkBalBranch51(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, False, h, ba) → new_mkBalBranch6MkBalBranch4(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), new_gt0(new_mkBalBranch6Size_r(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, h, ba))), h, ba)
new_ltEs23(ywz556, ywz557, app(app(ty_Either, fhg), fhh)) → new_ltEs7(ywz556, ywz557, fhg, fhh)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_Maybe, dba)) → new_ltEs12(ywz5270, ywz5280, dba)
new_esEs7(ywz4431, ywz4381, app(app(ty_@2, cbf), cbg)) → new_esEs19(ywz4431, ywz4381, cbf, cbg)
new_ltEs22(ywz5272, ywz5282, app(app(ty_Either, ffb), ffc)) → new_ltEs7(ywz5272, ywz5282, ffb, ffc)
new_ltEs18(ywz600, ywz603, app(app(ty_@2, dgf), dgg)) → new_ltEs14(ywz600, ywz603, dgf, dgg)
new_esEs28(ywz44301, ywz43801, app(ty_Maybe, cfh)) → new_esEs17(ywz44301, ywz43801, cfh)
new_compare16(GT, EQ) → GT
new_ltEs24(ywz527, ywz528, app(ty_Ratio, bhb)) → new_ltEs4(ywz527, ywz528, bhb)
new_ltEs19(ywz612, ywz614, ty_@0) → new_ltEs15(ywz612, ywz614)
new_esEs11(ywz4431, ywz4381, ty_Double) → new_esEs18(ywz4431, ywz4381)
new_lt12(ywz599, ywz602, ty_Float) → new_lt14(ywz599, ywz602)
new_compare26(ywz4430, ywz4380, ty_Int) → new_compare8(ywz4430, ywz4380)
new_esEs11(ywz4431, ywz4381, app(app(ty_Either, egf), egg)) → new_esEs23(ywz4431, ywz4381, egf, egg)
new_primCmpInt(Neg(Succ(ywz44300)), Neg(Zero)) → LT
new_compare6(Right(ywz4430), Right(ywz4380), egh, eha) → new_compare211(ywz4430, ywz4380, new_esEs5(ywz4430, ywz4380, eha), egh, eha)
new_primEqInt(Pos(Zero), Neg(Succ(ywz438000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz438000))) → False
new_ltEs20(ywz5271, ywz5281, ty_Float) → new_ltEs6(ywz5271, ywz5281)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz43800))) → new_primCmpNat0(Zero, Succ(ywz43800))
new_ltEs23(ywz556, ywz557, app(ty_Maybe, gad)) → new_ltEs12(ywz556, ywz557, gad)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(ty_@2, ge), gf), fc) → new_ltEs14(ywz5270, ywz5280, ge, gf)
new_mkBranch(ywz469, ywz470, ywz472, ywz570, h, ba) → new_mkBranchResult(ywz469, ywz470, ywz570, ywz472, h, ba)
new_lt20(ywz611, ywz613, app(ty_Ratio, eaa)) → new_lt4(ywz611, ywz613, eaa)
new_esEs29(ywz44302, ywz43802, ty_Int) → new_esEs26(ywz44302, ywz43802)
new_ltEs18(ywz600, ywz603, ty_@0) → new_ltEs15(ywz600, ywz603)
new_esEs39(ywz5271, ywz5281, app(ty_Ratio, fef)) → new_esEs20(ywz5271, ywz5281, fef)
new_emptyFM(bb, bc) → EmptyFM
new_esEs31(ywz44301, ywz43801, app(ty_Maybe, ed)) → new_esEs17(ywz44301, ywz43801, ed)
new_esEs30(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_lt21(ywz5270, ywz5280, ty_Bool) → new_lt17(ywz5270, ywz5280)
new_primCompAux0(ywz521, LT) → LT
new_not(False) → True
new_compare12(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, False, ywz672, bf, bg, bh) → new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, ywz672, bf, bg, bh)
new_esEs7(ywz4431, ywz4381, ty_Char) → new_esEs16(ywz4431, ywz4381)
new_ltEs23(ywz556, ywz557, app(ty_[], fhf)) → new_ltEs9(ywz556, ywz557, fhf)
new_esEs28(ywz44301, ywz43801, app(app(app(ty_@3, cfe), cff), cfg)) → new_esEs13(ywz44301, ywz43801, cfe, cff, cfg)
new_esEs8(ywz4432, ywz4382, app(app(app(ty_@3, ccd), cce), ccf)) → new_esEs13(ywz4432, ywz4382, ccd, cce, ccf)
new_esEs8(ywz4432, ywz4382, ty_@0) → new_esEs24(ywz4432, ywz4382)
new_lt20(ywz611, ywz613, app(app(app(ty_@3, dhe), dhf), dhg)) → new_lt15(ywz611, ywz613, dhe, dhf, dhg)
new_lt12(ywz599, ywz602, ty_Integer) → new_lt19(ywz599, ywz602)
new_esEs13(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cdh, cea, ceb) → new_asAs(new_esEs27(ywz44300, ywz43800, cdh), new_asAs(new_esEs28(ywz44301, ywz43801, cea), new_esEs29(ywz44302, ywz43802, ceb)))
new_lt11(ywz598, ywz601, ty_@0) → new_lt18(ywz598, ywz601)
new_esEs34(ywz598, ywz601, ty_Int) → new_esEs26(ywz598, ywz601)
new_compare212(ywz527, ywz528, True, bgc, bgd) → EQ
new_lt20(ywz611, ywz613, ty_Double) → new_lt13(ywz611, ywz613)
new_ltEs23(ywz556, ywz557, ty_Float) → new_ltEs6(ywz556, ywz557)
new_compare0(:(ywz4430, ywz4431), [], bfe) → GT
new_lt12(ywz599, ywz602, ty_Ordering) → new_lt8(ywz599, ywz602)
new_lt22(ywz5270, ywz5280, ty_Float) → new_lt14(ywz5270, ywz5280)
new_esEs40(ywz44300, ywz43800, app(ty_[], gbg)) → new_esEs21(ywz44300, ywz43800, gbg)
new_esEs28(ywz44301, ywz43801, ty_Float) → new_esEs22(ywz44301, ywz43801)
new_esEs7(ywz4431, ywz4381, ty_Ordering) → new_esEs15(ywz4431, ywz4381)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(ty_Either, dad), dae)) → new_ltEs7(ywz5270, ywz5280, dad, dae)
new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, False, bf, bg, bh) → GT
new_esEs39(ywz5271, ywz5281, ty_Integer) → new_esEs25(ywz5271, ywz5281)
new_compare5(:%(ywz4430, ywz4431), :%(ywz4380, ywz4381), ty_Int) → new_compare8(new_sr(ywz4430, ywz4381), new_sr(ywz4380, ywz4431))
new_ltEs11(ywz527, ywz528) → new_fsEs(new_compare8(ywz527, ywz528))
new_lt9(ywz35, ywz290, bad) → new_esEs12(new_compare0(ywz35, ywz290, bad))
new_compare28(True, False) → GT
new_esEs39(ywz5271, ywz5281, app(app(app(ty_@3, feb), fec), fed)) → new_esEs13(ywz5271, ywz5281, feb, fec, fed)
new_ltEs18(ywz600, ywz603, ty_Integer) → new_ltEs17(ywz600, ywz603)
new_compare28(True, True) → EQ
new_primMulInt(Neg(ywz44310), Neg(ywz43810)) → Pos(new_primMulNat0(ywz44310, ywz43810))
new_primEqNat0(Zero, Succ(ywz438000)) → False
new_primEqNat0(Succ(ywz443000), Zero) → False
new_ltEs22(ywz5272, ywz5282, ty_@0) → new_ltEs15(ywz5272, ywz5282)
new_ltEs23(ywz556, ywz557, app(app(app(ty_@3, gaa), gab), gac)) → new_ltEs10(ywz556, ywz557, gaa, gab, gac)
new_esEs15(LT, GT) → False
new_esEs15(GT, LT) → False
new_esEs40(ywz44300, ywz43800, app(ty_Maybe, gbc)) → new_esEs17(ywz44300, ywz43800, gbc)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Double, bbb) → new_esEs18(ywz44300, ywz43800)
new_ltEs4(ywz527, ywz528, bhb) → new_fsEs(new_compare5(ywz527, ywz528, bhb))
new_ltEs21(ywz534, ywz535, ty_Float) → new_ltEs6(ywz534, ywz535)
new_ltEs24(ywz527, ywz528, app(app(ty_Either, gg), fc)) → new_ltEs7(ywz527, ywz528, gg, fc)
new_esEs9(ywz4430, ywz4380, app(app(ty_Either, fhc), fhd)) → new_esEs23(ywz4430, ywz4380, fhc, fhd)
new_esEs34(ywz598, ywz601, ty_Bool) → new_esEs14(ywz598, ywz601)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Integer, fc) → new_ltEs17(ywz5270, ywz5280)
new_compare16(LT, EQ) → LT
new_ltEs22(ywz5272, ywz5282, ty_Double) → new_ltEs8(ywz5272, ywz5282)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Float, bbb) → new_esEs22(ywz44300, ywz43800)
new_sizeFM(Branch(ywz4420, ywz4421, ywz4422, ywz4423, ywz4424), bb, bc) → ywz4422
new_compare26(ywz4430, ywz4380, app(app(ty_Either, dbf), dbg)) → new_compare6(ywz4430, ywz4380, dbf, dbg)
new_esEs35(ywz599, ywz602, ty_Char) → new_esEs16(ywz599, ywz602)
new_mkBranch1(ywz783, ywz784, ywz785, ywz786, ywz787, cb, cc) → new_mkBranchResult(ywz784, ywz785, ywz787, ywz786, cb, cc)
new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, EmptyFM, ywz570, True, h, ba) → error([])
new_primMinusNat0(Zero, Zero) → Pos(Zero)
new_ltEs22(ywz5272, ywz5282, ty_Char) → new_ltEs16(ywz5272, ywz5282)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz43800))) → GT
new_lt7(ywz35, ywz290) → new_esEs12(new_compare8(ywz35, ywz290))
new_compare0(:(ywz4430, ywz4431), :(ywz4380, ywz4381), bfe) → new_primCompAux1(ywz4430, ywz4380, new_compare0(ywz4431, ywz4381, bfe), bfe)
new_compare19(ywz634, ywz635, True, bae, baf) → LT
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_Ratio, dbb)) → new_ltEs4(ywz5270, ywz5280, dbb)
new_esEs40(ywz44300, ywz43800, app(ty_Ratio, gbf)) → new_esEs20(ywz44300, ywz43800, gbf)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_ltEs19(ywz612, ywz614, ty_Double) → new_ltEs8(ywz612, ywz614)
new_lt20(ywz611, ywz613, app(app(ty_@2, eab), eac)) → new_lt6(ywz611, ywz613, eab, eac)
new_esEs7(ywz4431, ywz4381, ty_Double) → new_esEs18(ywz4431, ywz4381)
new_esEs5(ywz4430, ywz4380, app(app(ty_@2, fbe), fbf)) → new_esEs19(ywz4430, ywz4380, fbe, fbf)
new_esEs8(ywz4432, ywz4382, ty_Ordering) → new_esEs15(ywz4432, ywz4382)
new_ltEs23(ywz556, ywz557, app(ty_Ratio, gae)) → new_ltEs4(ywz556, ywz557, gae)
new_primPlusInt(Pos(ywz50420), Pos(ywz5810)) → Pos(new_primPlusNat0(ywz50420, ywz5810))
new_esEs7(ywz4431, ywz4381, ty_Int) → new_esEs26(ywz4431, ywz4381)
new_lt23(ywz5271, ywz5281, app(app(ty_@2, feg), feh)) → new_lt6(ywz5271, ywz5281, feg, feh)
new_esEs31(ywz44301, ywz43801, app(app(app(ty_@3, ea), eb), ec)) → new_esEs13(ywz44301, ywz43801, ea, eb, ec)
new_esEs36(ywz611, ywz613, app(app(ty_Either, dhc), dhd)) → new_esEs23(ywz611, ywz613, dhc, dhd)
new_lt24(ywz35, ywz290, ty_@0) → new_lt18(ywz35, ywz290)
new_ltEs18(ywz600, ywz603, ty_Int) → new_ltEs11(ywz600, ywz603)
new_compare14(ywz680, ywz681, ywz682, ywz683, True, cdf, cdg) → LT
new_ltEs24(ywz527, ywz528, ty_Float) → new_ltEs6(ywz527, ywz528)
new_ltEs14(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bhc, bhd) → new_pePe(new_lt21(ywz5270, ywz5280, bhc), new_asAs(new_esEs37(ywz5270, ywz5280, bhc), new_ltEs20(ywz5271, ywz5281, bhd)))
new_lt11(ywz598, ywz601, ty_Double) → new_lt13(ywz598, ywz601)
new_compare26(ywz4430, ywz4380, ty_Integer) → new_compare30(ywz4430, ywz4380)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, app(ty_[], bdb)) → new_esEs21(ywz44300, ywz43800, bdb)
new_esEs38(ywz5270, ywz5280, ty_Int) → new_esEs26(ywz5270, ywz5280)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs10(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_compare13(ywz680, ywz681, ywz682, ywz683, True, ywz685, cdf, cdg) → new_compare14(ywz680, ywz681, ywz682, ywz683, True, cdf, cdg)
new_esEs30(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_asAs(False, ywz643) → False
new_compare26(ywz4430, ywz4380, ty_@0) → new_compare29(ywz4430, ywz4380)
new_lt23(ywz5271, ywz5281, ty_Bool) → new_lt17(ywz5271, ywz5281)
new_esEs7(ywz4431, ywz4381, ty_@0) → new_esEs24(ywz4431, ywz4381)
new_primMulInt(Neg(ywz44310), Pos(ywz43810)) → Neg(new_primMulNat0(ywz44310, ywz43810))
new_primMulInt(Pos(ywz44310), Neg(ywz43810)) → Neg(new_primMulNat0(ywz44310, ywz43810))
new_esEs10(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_addToFM_C(EmptyFM, ywz443, ywz444, bb, bc) → Branch(ywz443, ywz444, Pos(Succ(Zero)), new_emptyFM(bb, bc), new_emptyFM(bb, bc))
new_lt21(ywz5270, ywz5280, ty_Int) → new_lt7(ywz5270, ywz5280)
new_lt12(ywz599, ywz602, ty_Double) → new_lt13(ywz599, ywz602)
new_esEs37(ywz5270, ywz5280, ty_Integer) → new_esEs25(ywz5270, ywz5280)
new_ltEs16(ywz527, ywz528) → new_fsEs(new_compare18(ywz527, ywz528))
new_esEs27(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_esEs28(ywz44301, ywz43801, ty_Double) → new_esEs18(ywz44301, ywz43801)
new_ltEs18(ywz600, ywz603, app(ty_Maybe, dgd)) → new_ltEs12(ywz600, ywz603, dgd)
new_lt24(ywz35, ywz290, app(app(app(ty_@3, bdg), bdh), bea)) → new_lt15(ywz35, ywz290, bdg, bdh, bea)
new_lt19(ywz35, ywz290) → new_esEs12(new_compare30(ywz35, ywz290))
new_esEs30(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_ltEs24(ywz527, ywz528, app(ty_[], bge)) → new_ltEs9(ywz527, ywz528, bge)
new_esEs7(ywz4431, ywz4381, ty_Float) → new_esEs22(ywz4431, ywz4381)
new_esEs36(ywz611, ywz613, app(ty_[], dhb)) → new_esEs21(ywz611, ywz613, dhb)
new_esEs9(ywz4430, ywz4380, app(ty_[], fhb)) → new_esEs21(ywz4430, ywz4380, fhb)
new_compare26(ywz4430, ywz4380, app(ty_Ratio, dcd)) → new_compare5(ywz4430, ywz4380, dcd)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Int) → new_esEs26(ywz44300, ywz43800)
new_ltEs23(ywz556, ywz557, ty_Int) → new_ltEs11(ywz556, ywz557)
new_ltEs12(Nothing, Just(ywz5280), bha) → True
new_compare27(Nothing, Just(ywz4380), ehb) → LT
new_esEs33(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_esEs35(ywz599, ywz602, ty_Ordering) → new_esEs15(ywz599, ywz602)
new_esEs14(True, True) → True
new_esEs31(ywz44301, ywz43801, ty_Ordering) → new_esEs15(ywz44301, ywz43801)
new_esEs4(ywz4430, ywz4380, app(ty_Ratio, bab)) → new_esEs20(ywz4430, ywz4380, bab)
new_esEs31(ywz44301, ywz43801, ty_Char) → new_esEs16(ywz44301, ywz43801)
new_compare7(@2(ywz4430, ywz4431), @2(ywz4380, ywz4381), eeb, eec) → new_compare210(ywz4430, ywz4431, ywz4380, ywz4381, new_asAs(new_esEs10(ywz4430, ywz4380, eeb), new_esEs11(ywz4431, ywz4381, eec)), eeb, eec)
new_compare26(ywz4430, ywz4380, app(ty_Maybe, dcc)) → new_compare27(ywz4430, ywz4380, dcc)
new_ltEs21(ywz534, ywz535, ty_Char) → new_ltEs16(ywz534, ywz535)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Float) → new_esEs22(ywz44300, ywz43800)
new_lt4(ywz35, ywz290, ca) → new_esEs12(new_compare5(ywz35, ywz290, ca))
new_lt20(ywz611, ywz613, ty_Integer) → new_lt19(ywz611, ywz613)
new_esEs5(ywz4430, ywz4380, app(app(ty_Either, fca), fcb)) → new_esEs23(ywz4430, ywz4380, fca, fcb)
new_ltEs20(ywz5271, ywz5281, app(app(ty_Either, eda), edb)) → new_ltEs7(ywz5271, ywz5281, eda, edb)
new_ltEs13(False, False) → True
new_esEs27(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_lt10(ywz35, ywz290) → new_esEs12(new_compare18(ywz35, ywz290))
new_esEs29(ywz44302, ywz43802, ty_Float) → new_esEs22(ywz44302, ywz43802)
new_esEs41(GT) → True
new_esEs11(ywz4431, ywz4381, app(app(ty_@2, egb), egc)) → new_esEs19(ywz4431, ywz4381, egb, egc)
new_esEs30(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_primCmpInt(Pos(Succ(ywz44300)), Pos(Succ(ywz43800))) → new_primCmpNat0(ywz44300, ywz43800)
new_esEs4(ywz4430, ywz4380, app(ty_[], fah)) → new_esEs21(ywz4430, ywz4380, fah)
new_lt24(ywz35, ywz290, app(ty_Ratio, ca)) → new_lt4(ywz35, ywz290, ca)
new_esEs38(ywz5270, ywz5280, app(ty_Maybe, fdc)) → new_esEs17(ywz5270, ywz5280, fdc)
new_esEs32(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_lt21(ywz5270, ywz5280, ty_Integer) → new_lt19(ywz5270, ywz5280)
new_lt22(ywz5270, ywz5280, ty_Char) → new_lt10(ywz5270, ywz5280)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(app(ty_@3, fh), ga), gb), fc) → new_ltEs10(ywz5270, ywz5280, fh, ga, gb)
new_esEs34(ywz598, ywz601, ty_@0) → new_esEs24(ywz598, ywz601)
new_esEs14(False, False) → True
new_esEs29(ywz44302, ywz43802, ty_Char) → new_esEs16(ywz44302, ywz43802)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_compare211(ywz534, ywz535, False, ehd, ehe) → new_compare19(ywz534, ywz535, new_ltEs21(ywz534, ywz535, ehe), ehd, ehe)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_@0, bbb) → new_esEs24(ywz44300, ywz43800)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_Float) → new_ltEs6(ywz5270, ywz5280)
new_esEs30(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_compare0([], :(ywz4380, ywz4381), bfe) → LT
new_esEs35(ywz599, ywz602, ty_Integer) → new_esEs25(ywz599, ywz602)
new_esEs37(ywz5270, ywz5280, app(app(ty_Either, ebg), ebh)) → new_esEs23(ywz5270, ywz5280, ebg, ebh)
new_esEs34(ywz598, ywz601, ty_Float) → new_esEs22(ywz598, ywz601)
new_asAs(True, ywz643) → ywz643
new_ltEs5(GT, GT) → True
new_esEs6(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_lt20(ywz611, ywz613, ty_Bool) → new_lt17(ywz611, ywz613)
new_ltEs12(Just(ywz5270), Nothing, bha) → False
new_compare6(Right(ywz4430), Left(ywz4380), egh, eha) → GT
new_esEs31(ywz44301, ywz43801, ty_@0) → new_esEs24(ywz44301, ywz43801)
new_esEs6(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_ltEs20(ywz5271, ywz5281, app(app(app(ty_@3, edc), edd), ede)) → new_ltEs10(ywz5271, ywz5281, edc, edd, ede)
new_lt12(ywz599, ywz602, ty_Char) → new_lt10(ywz599, ywz602)
new_lt12(ywz599, ywz602, ty_Int) → new_lt7(ywz599, ywz602)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_Ratio, bfa)) → new_esEs20(ywz44300, ywz43800, bfa)
new_ltEs19(ywz612, ywz614, app(app(ty_@2, ebd), ebe)) → new_ltEs14(ywz612, ywz614, ebd, ebe)
new_compare16(EQ, LT) → GT
new_addToFM_C10(ywz469, ywz470, ywz471, ywz472, ywz473, ywz474, ywz475, False, h, ba) → Branch(ywz474, ywz475, ywz471, ywz472, ywz473)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Char) → new_esEs16(ywz44300, ywz43800)
new_esEs10(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_gt(ywz443, ywz438, ty_Float) → new_esEs41(new_compare15(ywz443, ywz438))
new_ltEs24(ywz527, ywz528, app(ty_Maybe, bha)) → new_ltEs12(ywz527, ywz528, bha)
new_esEs29(ywz44302, ywz43802, ty_Bool) → new_esEs14(ywz44302, ywz43802)
new_esEs7(ywz4431, ywz4381, app(ty_[], cca)) → new_esEs21(ywz4431, ywz4381, cca)
new_lt11(ywz598, ywz601, app(ty_Maybe, ddh)) → new_lt16(ywz598, ywz601, ddh)
new_esEs38(ywz5270, ywz5280, ty_@0) → new_esEs24(ywz5270, ywz5280)
new_compare6(Left(ywz4430), Left(ywz4380), egh, eha) → new_compare212(ywz4430, ywz4380, new_esEs4(ywz4430, ywz4380, egh), egh, eha)
new_primCompAux0(ywz521, EQ) → ywz521
new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, ywz5703, ywz5704, True, h, ba) → new_mkBranchResult(ywz5700, ywz5701, ywz5704, new_mkBranchResult(ywz469, ywz470, ywz5703, ywz472, h, ba), h, ba)
new_ltEs5(GT, EQ) → False
new_lt22(ywz5270, ywz5280, app(ty_Ratio, fdd)) → new_lt4(ywz5270, ywz5280, fdd)
new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, bf, bg, bh) → LT
new_esEs34(ywz598, ywz601, ty_Ordering) → new_esEs15(ywz598, ywz601)
new_ltEs21(ywz534, ywz535, ty_Int) → new_ltEs11(ywz534, ywz535)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs9(ywz4430, ywz4380, app(app(ty_@2, fgg), fgh)) → new_esEs19(ywz4430, ywz4380, fgg, fgh)
new_esEs8(ywz4432, ywz4382, app(ty_Maybe, ccg)) → new_esEs17(ywz4432, ywz4382, ccg)
new_compare210(ywz611, ywz612, ywz613, ywz614, True, dgh, dha) → EQ
new_not(True) → False
new_esEs39(ywz5271, ywz5281, app(ty_Maybe, fee)) → new_esEs17(ywz5271, ywz5281, fee)
new_primMinusNat0(Succ(ywz504200), Succ(ywz58100)) → new_primMinusNat0(ywz504200, ywz58100)
new_primCompAux1(ywz4430, ywz4380, ywz502, bfe) → new_primCompAux0(ywz502, new_compare26(ywz4430, ywz4380, bfe))
new_esEs4(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_Int) → new_ltEs11(ywz5270, ywz5280)
new_esEs11(ywz4431, ywz4381, app(ty_Maybe, ega)) → new_esEs17(ywz4431, ywz4381, ega)
new_esEs29(ywz44302, ywz43802, app(app(ty_@2, chc), chd)) → new_esEs19(ywz44302, ywz43802, chc, chd)
new_esEs35(ywz599, ywz602, ty_Int) → new_esEs26(ywz599, ywz602)
new_esEs8(ywz4432, ywz4382, ty_Char) → new_esEs16(ywz4432, ywz4382)
new_lt22(ywz5270, ywz5280, ty_Integer) → new_lt19(ywz5270, ywz5280)
new_ltEs21(ywz534, ywz535, app(ty_Ratio, fae)) → new_ltEs4(ywz534, ywz535, fae)
new_mkBalBranch6Size_l(ywz438, ywz439, ywz442, ywz574, bb, bc) → new_sizeFM(ywz574, bb, bc)
new_ltEs19(ywz612, ywz614, app(ty_[], ead)) → new_ltEs9(ywz612, ywz614, ead)
new_compare27(Nothing, Nothing, ehb) → EQ
new_esEs31(ywz44301, ywz43801, app(ty_[], eh)) → new_esEs21(ywz44301, ywz43801, eh)
new_esEs36(ywz611, ywz613, ty_Ordering) → new_esEs15(ywz611, ywz613)
new_lt11(ywz598, ywz601, ty_Char) → new_lt10(ywz598, ywz601)
new_mkBalBranch6MkBalBranch52(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, False, bb, bc) → new_mkBalBranch6MkBalBranch4(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), ywz442, new_gt0(new_mkBalBranch6Size_r(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), bb, bc), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bb, bc), bb, bc))), bb, bc)
new_esEs6(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, app(ty_[], gh)) → new_ltEs9(ywz5270, ywz5280, gh)
new_lt20(ywz611, ywz613, ty_Float) → new_lt14(ywz611, ywz613)
new_ltEs5(EQ, GT) → True
new_esEs4(ywz4430, ywz4380, app(app(app(ty_@3, cdh), cea), ceb)) → new_esEs13(ywz4430, ywz4380, cdh, cea, ceb)
new_esEs39(ywz5271, ywz5281, ty_Float) → new_esEs22(ywz5271, ywz5281)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Ordering, fc) → new_ltEs5(ywz5270, ywz5280)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_Ratio, gd), fc) → new_ltEs4(ywz5270, ywz5280, gd)
new_lt21(ywz5270, ywz5280, ty_@0) → new_lt18(ywz5270, ywz5280)
new_addToFM_C20(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, False, bb, bc) → new_addToFM_C10(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, new_gt(ywz443, ywz438, bb), bb, bc)
new_ltEs18(ywz600, ywz603, app(ty_Ratio, dge)) → new_ltEs4(ywz600, ywz603, dge)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_lt21(ywz5270, ywz5280, app(app(ty_@2, ecf), ecg)) → new_lt6(ywz5270, ywz5280, ecf, ecg)
new_primMulNat0(Zero, Zero) → Zero
new_esEs36(ywz611, ywz613, app(app(ty_@2, eab), eac)) → new_esEs19(ywz611, ywz613, eab, eac)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_[], bbg), bbb) → new_esEs21(ywz44300, ywz43800, bbg)
new_esEs6(ywz4430, ywz4380, app(app(ty_Either, cah), cba)) → new_esEs23(ywz4430, ywz4380, cah, cba)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_Ordering) → new_ltEs5(ywz5270, ywz5280)
new_gt(ywz443, ywz438, ty_Char) → new_esEs41(new_compare18(ywz443, ywz438))
new_ltEs24(ywz527, ywz528, ty_Integer) → new_ltEs17(ywz527, ywz528)
new_ltEs24(ywz527, ywz528, ty_Char) → new_ltEs16(ywz527, ywz528)
new_esEs27(ywz44300, ywz43800, app(ty_Maybe, cef)) → new_esEs17(ywz44300, ywz43800, cef)
new_esEs39(ywz5271, ywz5281, app(app(ty_Either, fdh), fea)) → new_esEs23(ywz5271, ywz5281, fdh, fea)
new_mkBalBranch6MkBalBranch51(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, True, h, ba) → new_mkBranchResult(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, h, ba)
new_esEs9(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs17(ywz527, ywz528) → new_fsEs(new_compare30(ywz527, ywz528))
new_esEs10(ywz4430, ywz4380, app(app(ty_Either, efd), efe)) → new_esEs23(ywz4430, ywz4380, efd, efe)
new_esEs29(ywz44302, ywz43802, app(app(ty_Either, chg), chh)) → new_esEs23(ywz44302, ywz43802, chg, chh)
new_gt(ywz443, ywz438, ty_@0) → new_esEs41(new_compare29(ywz443, ywz438))
new_esEs35(ywz599, ywz602, app(app(app(ty_@3, deg), deh), dfa)) → new_esEs13(ywz599, ywz602, deg, deh, dfa)
new_esEs27(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_esEs36(ywz611, ywz613, ty_Int) → new_esEs26(ywz611, ywz613)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Int) → new_ltEs11(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, ty_Int) → new_lt7(ywz598, ywz601)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_@0) → new_ltEs15(ywz5270, ywz5280)
new_esEs36(ywz611, ywz613, ty_Integer) → new_esEs25(ywz611, ywz613)
new_lt23(ywz5271, ywz5281, ty_@0) → new_lt18(ywz5271, ywz5281)
new_lt12(ywz599, ywz602, ty_Bool) → new_lt17(ywz599, ywz602)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Char) → new_ltEs16(ywz5270, ywz5280)
new_ltEs19(ywz612, ywz614, app(ty_Maybe, ebb)) → new_ltEs12(ywz612, ywz614, ebb)
new_esEs9(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_esEs11(ywz4431, ywz4381, app(ty_Ratio, egd)) → new_esEs20(ywz4431, ywz4381, egd)
new_compare17(ywz648, ywz649, False, bac) → GT
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_ltEs22(ywz5272, ywz5282, app(app(ty_@2, fga), fgb)) → new_ltEs14(ywz5272, ywz5282, fga, fgb)
new_addToFM_C10(ywz469, ywz470, ywz471, ywz472, ywz473, ywz474, ywz475, True, h, ba) → new_mkBalBranch6MkBalBranch51(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, h, ba), new_mkBalBranch6Size_r(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, h, ba), ywz472, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_esEs34(ywz598, ywz601, app(ty_Maybe, ddh)) → new_esEs17(ywz598, ywz601, ddh)
new_compare5(:%(ywz4430, ywz4431), :%(ywz4380, ywz4381), ty_Integer) → new_compare30(new_sr0(ywz4430, ywz4381), new_sr0(ywz4380, ywz4431))
new_compare29(@0, @0) → EQ
new_esEs30(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_ltEs21(ywz534, ywz535, ty_Double) → new_ltEs8(ywz534, ywz535)
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(app(ty_@3, bec), bed), bee)) → new_esEs13(ywz44300, ywz43800, bec, bed, bee)
new_lt23(ywz5271, ywz5281, app(app(ty_Either, fdh), fea)) → new_lt5(ywz5271, ywz5281, fdh, fea)
new_esEs30(ywz44300, ywz43800, app(ty_Maybe, db)) → new_esEs17(ywz44300, ywz43800, db)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_Ratio, bbf), bbb) → new_esEs20(ywz44300, ywz43800, bbf)
new_esEs38(ywz5270, ywz5280, app(app(app(ty_@3, fch), fda), fdb)) → new_esEs13(ywz5270, ywz5280, fch, fda, fdb)
new_lt22(ywz5270, ywz5280, app(app(ty_@2, fde), fdf)) → new_lt6(ywz5270, ywz5280, fde, fdf)
new_esEs10(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(ty_@2, dbc), dbd)) → new_ltEs14(ywz5270, ywz5280, dbc, dbd)
new_esEs38(ywz5270, ywz5280, app(ty_Ratio, fdd)) → new_esEs20(ywz5270, ywz5280, fdd)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Int, bbb) → new_esEs26(ywz44300, ywz43800)
new_ltEs21(ywz534, ywz535, app(app(ty_@2, faf), fag)) → new_ltEs14(ywz534, ywz535, faf, fag)
new_esEs23(Right(ywz44300), Left(ywz43800), bcb, bbb) → False
new_esEs23(Left(ywz44300), Right(ywz43800), bcb, bbb) → False
new_esEs40(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_esEs15(LT, EQ) → False
new_esEs15(EQ, LT) → False
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_Char) → new_ltEs16(ywz5270, ywz5280)
new_primCmpInt(Neg(Succ(ywz44300)), Neg(Succ(ywz43800))) → new_primCmpNat0(ywz43800, ywz44300)
new_lt24(ywz35, ywz290, ty_Int) → new_lt7(ywz35, ywz290)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Bool, bbb) → new_esEs14(ywz44300, ywz43800)
new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, ywz4724, ywz570, True, h, ba) → new_mkBranch0(ywz4720, ywz4721, ywz4723, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz469, ywz470, ywz4724, ywz570, h, ba)
new_gt(ywz443, ywz438, ty_Bool) → new_esEs41(new_compare28(ywz443, ywz438))
new_lt20(ywz611, ywz613, app(ty_Maybe, dhh)) → new_lt16(ywz611, ywz613, dhh)
new_esEs12(LT) → True
new_esEs39(ywz5271, ywz5281, ty_Int) → new_esEs26(ywz5271, ywz5281)
new_esEs37(ywz5270, ywz5280, ty_Bool) → new_esEs14(ywz5270, ywz5280)
new_esEs31(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_primCmpNat0(Zero, Succ(ywz43800)) → LT
new_esEs5(ywz4430, ywz4380, app(ty_[], fbh)) → new_esEs21(ywz4430, ywz4380, fbh)
new_esEs24(@0, @0) → True
new_ltEs24(ywz527, ywz528, ty_Ordering) → new_ltEs5(ywz527, ywz528)
new_ltEs22(ywz5272, ywz5282, ty_Ordering) → new_ltEs5(ywz5272, ywz5282)
new_ltEs13(False, True) → True
new_esEs26(ywz4430, ywz4380) → new_primEqInt(ywz4430, ywz4380)
new_esEs5(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_esEs20(:%(ywz44300, ywz44301), :%(ywz43800, ywz43801), bab) → new_asAs(new_esEs32(ywz44300, ywz43800, bab), new_esEs33(ywz44301, ywz43801, bab))
new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, Branch(ywz4720, ywz4721, ywz4722, ywz4723, ywz4724), ywz570, True, h, ba) → new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, ywz4724, ywz570, new_lt7(new_sizeFM(ywz4724, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz4723, h, ba))), h, ba)
new_compare16(GT, GT) → EQ
new_esEs10(ywz4430, ywz4380, app(ty_[], efc)) → new_esEs21(ywz4430, ywz4380, efc)
new_lt20(ywz611, ywz613, app(app(ty_Either, dhc), dhd)) → new_lt5(ywz611, ywz613, dhc, dhd)
new_compare27(Just(ywz4430), Nothing, ehb) → GT
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(ty_Either, bfc), bfd)) → new_esEs23(ywz44300, ywz43800, bfc, bfd)
new_esEs30(ywz44300, ywz43800, app(ty_Ratio, de)) → new_esEs20(ywz44300, ywz43800, de)
new_esEs38(ywz5270, ywz5280, app(ty_[], fce)) → new_esEs21(ywz5270, ywz5280, fce)
new_ltEs18(ywz600, ywz603, app(app(app(ty_@3, dga), dgb), dgc)) → new_ltEs10(ywz600, ywz603, dga, dgb, dgc)
new_lt24(ywz35, ywz290, app(ty_Maybe, bfh)) → new_lt16(ywz35, ywz290, bfh)
new_ltEs24(ywz527, ywz528, ty_Bool) → new_ltEs13(ywz527, ywz528)
new_compare26(ywz4430, ywz4380, ty_Char) → new_compare18(ywz4430, ywz4380)
new_sr(ywz4431, ywz4381) → new_primMulInt(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, ty_@0) → new_esEs24(ywz5270, ywz5280)
new_ltEs21(ywz534, ywz535, ty_Ordering) → new_ltEs5(ywz534, ywz535)
new_esEs34(ywz598, ywz601, ty_Double) → new_esEs18(ywz598, ywz601)
new_lt12(ywz599, ywz602, app(ty_Maybe, dfb)) → new_lt16(ywz599, ywz602, dfb)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_esEs5(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_esEs37(ywz5270, ywz5280, ty_Char) → new_esEs16(ywz5270, ywz5280)
new_lt12(ywz599, ywz602, app(app(app(ty_@3, deg), deh), dfa)) → new_lt15(ywz599, ywz602, deg, deh, dfa)
new_esEs28(ywz44301, ywz43801, app(ty_[], cgd)) → new_esEs21(ywz44301, ywz43801, cgd)
new_esEs16(Char(ywz44300), Char(ywz43800)) → new_primEqNat0(ywz44300, ywz43800)
new_gt(ywz443, ywz438, ty_Ordering) → new_esEs41(new_compare16(ywz443, ywz438))
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_@0) → new_ltEs15(ywz5270, ywz5280)
new_esEs34(ywz598, ywz601, app(ty_[], ddb)) → new_esEs21(ywz598, ywz601, ddb)
new_esEs6(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Ordering, bbb) → new_esEs15(ywz44300, ywz43800)
new_esEs27(ywz44300, ywz43800, app(ty_[], cfb)) → new_esEs21(ywz44300, ywz43800, cfb)
new_ltEs20(ywz5271, ywz5281, app(ty_Ratio, edg)) → new_ltEs4(ywz5271, ywz5281, edg)
new_esEs38(ywz5270, ywz5280, ty_Bool) → new_esEs14(ywz5270, ywz5280)
new_gt0(ywz443, ywz438) → new_esEs41(new_compare8(ywz443, ywz438))
new_lt23(ywz5271, ywz5281, app(ty_Ratio, fef)) → new_lt4(ywz5271, ywz5281, fef)
new_esEs35(ywz599, ywz602, ty_Double) → new_esEs18(ywz599, ywz602)
new_lt24(ywz35, ywz290, ty_Ordering) → new_lt8(ywz35, ywz290)
new_fsEs(ywz752) → new_not(new_esEs15(ywz752, GT))
new_esEs37(ywz5270, ywz5280, app(app(app(ty_@3, eca), ecb), ecc)) → new_esEs13(ywz5270, ywz5280, eca, ecb, ecc)
new_esEs31(ywz44301, ywz43801, app(ty_Ratio, eg)) → new_esEs20(ywz44301, ywz43801, eg)
new_esEs27(ywz44300, ywz43800, app(app(ty_Either, cfc), cfd)) → new_esEs23(ywz44300, ywz43800, cfc, cfd)
new_esEs4(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_ltEs21(ywz534, ywz535, app(app(ty_Either, ehg), ehh)) → new_ltEs7(ywz534, ywz535, ehg, ehh)
new_esEs8(ywz4432, ywz4382, ty_Double) → new_esEs18(ywz4432, ywz4382)
new_esEs9(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs10(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs10(ywz4430, ywz4380, app(ty_Maybe, eeg)) → new_esEs17(ywz4430, ywz4380, eeg)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_ltEs10(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), bgf, bgg, bgh) → new_pePe(new_lt22(ywz5270, ywz5280, bgf), new_asAs(new_esEs38(ywz5270, ywz5280, bgf), new_pePe(new_lt23(ywz5271, ywz5281, bgg), new_asAs(new_esEs39(ywz5271, ywz5281, bgg), new_ltEs22(ywz5272, ywz5282, bgh)))))
new_primEqInt(Neg(Succ(ywz443000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(ywz438000))) → False
new_esEs37(ywz5270, ywz5280, app(app(ty_@2, ecf), ecg)) → new_esEs19(ywz5270, ywz5280, ecf, ecg)
new_esEs17(Nothing, Nothing, beb) → True
new_ltEs22(ywz5272, ywz5282, app(ty_Maybe, ffg)) → new_ltEs12(ywz5272, ywz5282, ffg)
new_esEs19(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), cd, ce) → new_asAs(new_esEs30(ywz44300, ywz43800, cd), new_esEs31(ywz44301, ywz43801, ce))
new_lt22(ywz5270, ywz5280, ty_Int) → new_lt7(ywz5270, ywz5280)
new_esEs28(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_mkBalBranch6MkBalBranch4(ywz469, ywz470, ywz571, ywz472, ywz570, False, h, ba) → new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, ywz472, ywz570, new_gt0(new_mkBalBranch6Size_l(ywz469, ywz470, ywz571, ywz472, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz469, ywz470, ywz571, ywz472, h, ba))), h, ba)
new_esEs4(ywz4430, ywz4380, app(app(ty_@2, cd), ce)) → new_esEs19(ywz4430, ywz4380, cd, ce)
new_esEs7(ywz4431, ywz4381, app(ty_Maybe, cbe)) → new_esEs17(ywz4431, ywz4381, cbe)
new_lt21(ywz5270, ywz5280, app(ty_[], ebf)) → new_lt9(ywz5270, ywz5280, ebf)
new_esEs36(ywz611, ywz613, ty_Bool) → new_esEs14(ywz611, ywz613)
new_esEs40(ywz44300, ywz43800, app(app(ty_Either, gbh), gca)) → new_esEs23(ywz44300, ywz43800, gbh, gca)
new_esEs6(ywz4430, ywz4380, app(ty_Maybe, cac)) → new_esEs17(ywz4430, ywz4380, cac)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_primMinusNat0(Succ(ywz504200), Zero) → Pos(Succ(ywz504200))
new_primCmpNat0(Succ(ywz44300), Succ(ywz43800)) → new_primCmpNat0(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(app(ty_@2, fde), fdf)) → new_esEs19(ywz5270, ywz5280, fde, fdf)
new_compare28(False, False) → EQ
new_sizeFM(EmptyFM, bb, bc) → Pos(Zero)
new_ltEs5(EQ, EQ) → True
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Bool) → new_ltEs13(ywz5270, ywz5280)
new_compare26(ywz4430, ywz4380, app(app(app(ty_@3, dbh), dca), dcb)) → new_compare9(ywz4430, ywz4380, dbh, dca, dcb)
new_ltEs22(ywz5272, ywz5282, ty_Integer) → new_ltEs17(ywz5272, ywz5282)
new_esEs35(ywz599, ywz602, ty_@0) → new_esEs24(ywz599, ywz602)
new_compare28(False, True) → LT
new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, EmptyFM, ywz5704, False, h, ba) → error([])
new_esEs7(ywz4431, ywz4381, ty_Integer) → new_esEs25(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, app(ty_Ratio, ece)) → new_esEs20(ywz5270, ywz5280, ece)
new_lt22(ywz5270, ywz5280, ty_@0) → new_lt18(ywz5270, ywz5280)
new_esEs31(ywz44301, ywz43801, ty_Double) → new_esEs18(ywz44301, ywz43801)
new_esEs14(False, True) → False
new_esEs14(True, False) → False
new_esEs5(ywz4430, ywz4380, app(ty_Maybe, fbd)) → new_esEs17(ywz4430, ywz4380, fbd)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Char, bbb) → new_esEs16(ywz44300, ywz43800)
new_esEs17(Just(ywz44300), Nothing, beb) → False
new_esEs17(Nothing, Just(ywz43800), beb) → False
new_esEs34(ywz598, ywz601, ty_Char) → new_esEs16(ywz598, ywz601)
new_esEs9(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_esEs21(:(ywz44300, ywz44301), [], fah) → False
new_esEs21([], :(ywz43800, ywz43801), fah) → False
new_ltEs22(ywz5272, ywz5282, app(app(app(ty_@3, ffd), ffe), fff)) → new_ltEs10(ywz5272, ywz5282, ffd, ffe, fff)
new_esEs4(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_esEs38(ywz5270, ywz5280, ty_Ordering) → new_esEs15(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, app(ty_Ratio, dea)) → new_lt4(ywz598, ywz601, dea)
new_esEs8(ywz4432, ywz4382, app(app(ty_Either, cdd), cde)) → new_esEs23(ywz4432, ywz4382, cdd, cde)
new_esEs27(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(app(ty_Either, fcf), fcg)) → new_esEs23(ywz5270, ywz5280, fcf, fcg)
new_lt11(ywz598, ywz601, ty_Float) → new_lt14(ywz598, ywz601)
new_compare25(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, dcg, dch, dda) → new_compare12(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, new_lt11(ywz598, ywz601, dcg), new_asAs(new_esEs34(ywz598, ywz601, dcg), new_pePe(new_lt12(ywz599, ywz602, dch), new_asAs(new_esEs35(ywz599, ywz602, dch), new_ltEs18(ywz600, ywz603, dda)))), dcg, dch, dda)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Bool, fc) → new_ltEs13(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, EmptyFM, ywz570, False, h, ba) → error([])
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_[], fd), fc) → new_ltEs9(ywz5270, ywz5280, fd)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, app(ty_Maybe, bcf)) → new_esEs17(ywz44300, ywz43800, bcf)
new_primEqInt(Pos(Succ(ywz443000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz438000))) → False
new_compare26(ywz4430, ywz4380, app(ty_[], dbe)) → new_compare0(ywz4430, ywz4380, dbe)
new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, Branch(ywz57030, ywz57031, ywz57032, ywz57033, ywz57034), ywz5704, False, h, ba) → new_mkBranch2(Succ(Succ(Succ(Succ(Zero)))), ywz57030, ywz57031, ywz469, ywz470, ywz472, ywz57033, ywz5700, ywz5701, ywz57034, ywz5704, h, ba)
new_gt(ywz443, ywz438, app(ty_Maybe, ehb)) → new_esEs41(new_compare27(ywz443, ywz438, ehb))
new_primPlusNat0(Zero, Succ(ywz58100)) → Succ(ywz58100)
new_primPlusNat0(Succ(ywz504200), Zero) → Succ(ywz504200)
new_ltEs5(GT, LT) → False
new_compare25(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, True, dcg, dch, dda) → EQ
new_primCmpNat0(Zero, Zero) → EQ
new_lt5(ywz35, ywz290, bff, bfg) → new_esEs12(new_compare6(ywz35, ywz290, bff, bfg))
new_primCmpNat0(Succ(ywz44300), Zero) → GT
new_esEs9(ywz4430, ywz4380, app(ty_Maybe, fgf)) → new_esEs17(ywz4430, ywz4380, fgf)
new_ltEs20(ywz5271, ywz5281, ty_Ordering) → new_ltEs5(ywz5271, ywz5281)
new_esEs36(ywz611, ywz613, ty_Double) → new_esEs18(ywz611, ywz613)
new_lt6(ywz35, ywz290, bga, bgb) → new_esEs12(new_compare7(ywz35, ywz290, bga, bgb))
new_esEs17(Just(ywz44300), Just(ywz43800), ty_@0) → new_esEs24(ywz44300, ywz43800)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz43800))) → LT
new_esEs35(ywz599, ywz602, app(ty_Maybe, dfb)) → new_esEs17(ywz599, ywz602, dfb)
new_lt23(ywz5271, ywz5281, ty_Char) → new_lt10(ywz5271, ywz5281)
new_sr0(Integer(ywz43800), Integer(ywz44310)) → Integer(new_primMulInt(ywz43800, ywz44310))
new_gt(ywz443, ywz438, app(app(ty_Either, egh), eha)) → new_esEs41(new_compare6(ywz443, ywz438, egh, eha))
new_esEs4(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_esEs31(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_primEqInt(Pos(Succ(ywz443000)), Neg(ywz43800)) → False
new_primEqInt(Neg(Succ(ywz443000)), Pos(ywz43800)) → False
new_esEs6(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_ltEs23(ywz556, ywz557, ty_Integer) → new_ltEs17(ywz556, ywz557)
new_lt23(ywz5271, ywz5281, app(ty_[], fdg)) → new_lt9(ywz5271, ywz5281, fdg)
new_primPlusInt(Neg(ywz50420), Pos(ywz5810)) → new_primMinusNat0(ywz5810, ywz50420)
new_primPlusInt(Pos(ywz50420), Neg(ywz5810)) → new_primMinusNat0(ywz50420, ywz5810)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Char, fc) → new_ltEs16(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, app(app(ty_@2, ceg), ceh)) → new_esEs19(ywz44300, ywz43800, ceg, ceh)
new_esEs11(ywz4431, ywz4381, app(ty_[], ege)) → new_esEs21(ywz4431, ywz4381, ege)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_[], bfb)) → new_esEs21(ywz44300, ywz43800, bfb)
new_esEs6(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs41(EQ) → False
new_lt8(ywz35, ywz290) → new_esEs12(new_compare16(ywz35, ywz290))
new_lt16(ywz35, ywz290, bfh) → new_esEs12(new_compare27(ywz35, ywz290, bfh))
new_esEs29(ywz44302, ywz43802, ty_Ordering) → new_esEs15(ywz44302, ywz43802)
new_ltEs23(ywz556, ywz557, ty_Double) → new_ltEs8(ywz556, ywz557)
new_esEs8(ywz4432, ywz4382, app(ty_[], cdc)) → new_esEs21(ywz4432, ywz4382, cdc)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, app(app(ty_Either, bdc), bdd)) → new_esEs23(ywz44300, ywz43800, bdc, bdd)
new_esEs11(ywz4431, ywz4381, ty_Float) → new_esEs22(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, app(ty_[], ebf)) → new_esEs21(ywz5270, ywz5280, ebf)
new_lt22(ywz5270, ywz5280, app(ty_Maybe, fdc)) → new_lt16(ywz5270, ywz5280, fdc)
new_compare16(EQ, GT) → LT
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_Bool) → new_ltEs13(ywz5270, ywz5280)
new_esEs8(ywz4432, ywz4382, ty_Bool) → new_esEs14(ywz4432, ywz4382)
new_esEs9(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_ltEs19(ywz612, ywz614, ty_Float) → new_ltEs6(ywz612, ywz614)
new_esEs7(ywz4431, ywz4381, app(app(app(ty_@3, cbb), cbc), cbd)) → new_esEs13(ywz4431, ywz4381, cbb, cbc, cbd)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Ordering) → new_ltEs5(ywz5270, ywz5280)
new_esEs39(ywz5271, ywz5281, ty_Ordering) → new_esEs15(ywz5271, ywz5281)
new_gt(ywz443, ywz438, ty_Int) → new_gt0(ywz443, ywz438)
new_primCmpInt(Pos(Succ(ywz44300)), Neg(ywz4380)) → GT
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_Double) → new_ltEs8(ywz5270, ywz5280)
new_primMulInt(Pos(ywz44310), Pos(ywz43810)) → Pos(new_primMulNat0(ywz44310, ywz43810))
new_lt24(ywz35, ywz290, app(app(ty_@2, bga), bgb)) → new_lt6(ywz35, ywz290, bga, bgb)
new_ltEs5(LT, GT) → True
new_esEs35(ywz599, ywz602, app(ty_Ratio, dfc)) → new_esEs20(ywz599, ywz602, dfc)
new_esEs4(ywz4430, ywz4380, app(ty_Maybe, beb)) → new_esEs17(ywz4430, ywz4380, beb)
new_esEs34(ywz598, ywz601, app(app(ty_Either, ddc), ddd)) → new_esEs23(ywz598, ywz601, ddc, ddd)
new_mkBalBranch6MkBalBranch4(ywz469, ywz470, ywz571, ywz472, EmptyFM, True, h, ba) → error([])
new_esEs34(ywz598, ywz601, ty_Integer) → new_esEs25(ywz598, ywz601)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(app(ty_@3, daf), dag), dah)) → new_ltEs10(ywz5270, ywz5280, daf, dag, dah)
new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, ywz472, ywz570, False, h, ba) → new_mkBranch(ywz469, ywz470, ywz472, ywz570, h, ba)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(ty_Either, ff), fg), fc) → new_ltEs7(ywz5270, ywz5280, ff, fg)
new_ltEs6(ywz527, ywz528) → new_fsEs(new_compare15(ywz527, ywz528))
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs5(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_primPlusInt(Neg(ywz50420), Neg(ywz5810)) → Neg(new_primPlusNat0(ywz50420, ywz5810))
new_esEs15(LT, LT) → True
new_gt(ywz443, ywz438, app(app(ty_@2, eeb), eec)) → new_esEs41(new_compare7(ywz443, ywz438, eeb, eec))
new_esEs40(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_esEs40(ywz44300, ywz43800, app(app(ty_@2, gbd), gbe)) → new_esEs19(ywz44300, ywz43800, gbd, gbe)
new_esEs5(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_esEs5(ywz4430, ywz4380, app(app(app(ty_@3, fba), fbb), fbc)) → new_esEs13(ywz4430, ywz4380, fba, fbb, fbc)
new_esEs11(ywz4431, ywz4381, ty_@0) → new_esEs24(ywz4431, ywz4381)
new_lt12(ywz599, ywz602, app(app(ty_@2, dfd), dfe)) → new_lt6(ywz599, ywz602, dfd, dfe)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, app(ty_Maybe, hf)) → new_ltEs12(ywz5270, ywz5280, hf)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, app(ty_Ratio, bda)) → new_esEs20(ywz44300, ywz43800, bda)
new_esEs9(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_esEs6(ywz4430, ywz4380, app(app(app(ty_@3, bhh), caa), cab)) → new_esEs13(ywz4430, ywz4380, bhh, caa, cab)
new_lt11(ywz598, ywz601, ty_Ordering) → new_lt8(ywz598, ywz601)
new_lt24(ywz35, ywz290, ty_Integer) → new_lt19(ywz35, ywz290)
new_esEs36(ywz611, ywz613, ty_Char) → new_esEs16(ywz611, ywz613)
new_esEs5(ywz4430, ywz4380, app(ty_Ratio, fbg)) → new_esEs20(ywz4430, ywz4380, fbg)
new_esEs27(ywz44300, ywz43800, app(ty_Ratio, cfa)) → new_esEs20(ywz44300, ywz43800, cfa)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz43800))) → new_primCmpNat0(Succ(ywz43800), Zero)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(ty_Either, bbh), bca), bbb) → new_esEs23(ywz44300, ywz43800, bbh, bca)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, ty_Integer) → new_ltEs17(ywz5270, ywz5280)
new_ltEs19(ywz612, ywz614, ty_Int) → new_ltEs11(ywz612, ywz614)
new_esEs40(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_ltEs21(ywz534, ywz535, app(ty_Maybe, fad)) → new_ltEs12(ywz534, ywz535, fad)
new_esEs21(:(ywz44300, ywz44301), :(ywz43800, ywz43801), fah) → new_asAs(new_esEs40(ywz44300, ywz43800, fah), new_esEs21(ywz44301, ywz43801, fah))
new_lt20(ywz611, ywz613, ty_Char) → new_lt10(ywz611, ywz613)
new_lt24(ywz35, ywz290, app(ty_[], bad)) → new_lt9(ywz35, ywz290, bad)
new_esEs30(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_esEs27(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_compare27(Just(ywz4430), Just(ywz4380), ehb) → new_compare213(ywz4430, ywz4380, new_esEs9(ywz4430, ywz4380, ehb), ehb)
new_esEs11(ywz4431, ywz4381, app(app(app(ty_@3, eff), efg), efh)) → new_esEs13(ywz4431, ywz4381, eff, efg, efh)
new_esEs35(ywz599, ywz602, app(ty_[], ded)) → new_esEs21(ywz599, ywz602, ded)
new_ltEs7(Right(ywz5270), Right(ywz5280), gg, app(app(ty_Either, ha), hb)) → new_ltEs7(ywz5270, ywz5280, ha, hb)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, app(app(app(ty_@3, bcc), bcd), bce)) → new_esEs13(ywz44300, ywz43800, bcc, bcd, bce)
new_esEs30(ywz44300, ywz43800, app(app(app(ty_@3, cf), cg), da)) → new_esEs13(ywz44300, ywz43800, cf, cg, da)
new_compare16(EQ, EQ) → EQ
new_esEs40(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_esEs36(ywz611, ywz613, ty_Float) → new_esEs22(ywz611, ywz613)
new_primMulNat0(Succ(ywz443100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz438100)) → Zero
new_ltEs18(ywz600, ywz603, ty_Ordering) → new_ltEs5(ywz600, ywz603)
new_compare26(ywz4430, ywz4380, ty_Ordering) → new_compare16(ywz4430, ywz4380)
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(ty_@2, beg), beh)) → new_esEs19(ywz44300, ywz43800, beg, beh)
new_esEs7(ywz4431, ywz4381, app(ty_Ratio, cbh)) → new_esEs20(ywz4431, ywz4381, cbh)
new_ltEs5(LT, EQ) → True
new_ltEs19(ywz612, ywz614, ty_Char) → new_ltEs16(ywz612, ywz614)
new_ltEs20(ywz5271, ywz5281, app(app(ty_@2, edh), eea)) → new_ltEs14(ywz5271, ywz5281, edh, eea)
new_ltEs23(ywz556, ywz557, ty_Char) → new_ltEs16(ywz556, ywz557)
new_esEs28(ywz44301, ywz43801, ty_Bool) → new_esEs14(ywz44301, ywz43801)
new_esEs6(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_esEs39(ywz5271, ywz5281, ty_@0) → new_esEs24(ywz5271, ywz5281)
new_esEs30(ywz44300, ywz43800, app(ty_[], df)) → new_esEs21(ywz44300, ywz43800, df)
new_lt22(ywz5270, ywz5280, ty_Bool) → new_lt17(ywz5270, ywz5280)
new_ltEs20(ywz5271, ywz5281, ty_Bool) → new_ltEs13(ywz5271, ywz5281)
new_esEs5(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_esEs25(Integer(ywz44300), Integer(ywz43800)) → new_primEqInt(ywz44300, ywz43800)
new_lt12(ywz599, ywz602, app(ty_Ratio, dfc)) → new_lt4(ywz599, ywz602, dfc)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_Maybe, gc), fc) → new_ltEs12(ywz5270, ywz5280, gc)
new_mkBranchResult(ywz469, ywz470, ywz572, ywz472, h, ba) → Branch(ywz469, ywz470, new_ps(new_ps(Pos(Succ(Zero)), new_sizeFM(ywz472, h, ba)), new_sizeFM(ywz572, h, ba)), ywz472, ywz572)
new_esEs37(ywz5270, ywz5280, ty_Ordering) → new_esEs15(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Float) → new_ltEs6(ywz5270, ywz5280)
new_compare211(ywz534, ywz535, True, ehd, ehe) → EQ
new_primMinusNat0(Zero, Succ(ywz58100)) → Neg(Succ(ywz58100))
new_ltEs9(ywz527, ywz528, bge) → new_fsEs(new_compare0(ywz527, ywz528, bge))
new_esEs41(LT) → False
new_lt23(ywz5271, ywz5281, app(ty_Maybe, fee)) → new_lt16(ywz5271, ywz5281, fee)
new_ltEs13(True, True) → True
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs8(ywz4432, ywz4382, ty_Float) → new_esEs22(ywz4432, ywz4382)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_compare9(@3(ywz4430, ywz4431, ywz4432), @3(ywz4380, ywz4381, ywz4382), bhe, bhf, bhg) → new_compare25(ywz4430, ywz4431, ywz4432, ywz4380, ywz4381, ywz4382, new_asAs(new_esEs6(ywz4430, ywz4380, bhe), new_asAs(new_esEs7(ywz4431, ywz4381, bhf), new_esEs8(ywz4432, ywz4382, bhg))), bhe, bhf, bhg)
new_lt24(ywz35, ywz290, ty_Float) → new_lt14(ywz35, ywz290)
new_ltEs23(ywz556, ywz557, ty_Ordering) → new_ltEs5(ywz556, ywz557)
new_esEs28(ywz44301, ywz43801, app(ty_Ratio, cgc)) → new_esEs20(ywz44301, ywz43801, cgc)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Float, fc) → new_ltEs6(ywz5270, ywz5280)
new_primCmpInt(Pos(Succ(ywz44300)), Pos(Zero)) → GT
new_ltEs18(ywz600, ywz603, ty_Bool) → new_ltEs13(ywz600, ywz603)
new_lt24(ywz35, ywz290, ty_Double) → new_lt13(ywz35, ywz290)
new_ltEs21(ywz534, ywz535, ty_@0) → new_ltEs15(ywz534, ywz535)
new_ltEs20(ywz5271, ywz5281, ty_Double) → new_ltEs8(ywz5271, ywz5281)
new_esEs40(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_lt15(ywz35, ywz290, bdg, bdh, bea) → new_esEs12(new_compare9(ywz35, ywz290, bdg, bdh, bea))
new_compare13(ywz680, ywz681, ywz682, ywz683, False, ywz685, cdf, cdg) → new_compare14(ywz680, ywz681, ywz682, ywz683, ywz685, cdf, cdg)
new_compare18(Char(ywz4430), Char(ywz4380)) → new_primCmpNat0(ywz4430, ywz4380)
new_ltEs22(ywz5272, ywz5282, app(ty_[], ffa)) → new_ltEs9(ywz5272, ywz5282, ffa)
new_esEs9(ywz4430, ywz4380, app(ty_Ratio, fha)) → new_esEs20(ywz4430, ywz4380, fha)
new_compare16(GT, LT) → GT
new_mkBalBranch6MkBalBranch4(ywz469, ywz470, ywz571, ywz472, Branch(ywz5700, ywz5701, ywz5702, ywz5703, ywz5704), True, h, ba) → new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, ywz5703, ywz5704, new_lt7(new_sizeFM(ywz5703, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz5704, h, ba))), h, ba)
new_esEs23(Right(ywz44300), Right(ywz43800), bcb, app(app(ty_@2, bcg), bch)) → new_esEs19(ywz44300, ywz43800, bcg, bch)
new_lt21(ywz5270, ywz5280, app(app(app(ty_@3, eca), ecb), ecc)) → new_lt15(ywz5270, ywz5280, eca, ecb, ecc)
new_ltEs23(ywz556, ywz557, ty_Bool) → new_ltEs13(ywz556, ywz557)
new_lt23(ywz5271, ywz5281, app(app(app(ty_@3, feb), fec), fed)) → new_lt15(ywz5271, ywz5281, feb, fec, fed)
new_ltEs21(ywz534, ywz535, app(app(app(ty_@3, faa), fab), fac)) → new_ltEs10(ywz534, ywz535, faa, fab, fac)
new_compare26(ywz4430, ywz4380, ty_Double) → new_compare11(ywz4430, ywz4380)
new_primMulNat0(Succ(ywz443100), Succ(ywz438100)) → new_primPlusNat0(new_primMulNat0(ywz443100, Succ(ywz438100)), Succ(ywz438100))
new_esEs10(ywz4430, ywz4380, app(app(ty_@2, eeh), efa)) → new_esEs19(ywz4430, ywz4380, eeh, efa)
new_compare17(ywz648, ywz649, True, bac) → LT
new_lt11(ywz598, ywz601, app(app(ty_Either, ddc), ddd)) → new_lt5(ywz598, ywz601, ddc, ddd)
new_ltEs23(ywz556, ywz557, ty_@0) → new_ltEs15(ywz556, ywz557)
new_primPlusNat0(Succ(ywz504200), Succ(ywz58100)) → Succ(Succ(new_primPlusNat0(ywz504200, ywz58100)))
new_ltEs19(ywz612, ywz614, ty_Ordering) → new_ltEs5(ywz612, ywz614)
new_lt23(ywz5271, ywz5281, ty_Double) → new_lt13(ywz5271, ywz5281)
new_esEs6(ywz4430, ywz4380, app(ty_[], cag)) → new_esEs21(ywz4430, ywz4380, cag)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Double, fc) → new_ltEs8(ywz5270, ywz5280)
new_compare15(Float(ywz4430, ywz4431), Float(ywz4380, ywz4381)) → new_compare8(new_sr(ywz4430, ywz4380), new_sr(ywz4431, ywz4381))
new_esEs34(ywz598, ywz601, app(app(ty_@2, deb), dec)) → new_esEs19(ywz598, ywz601, deb, dec)
new_esEs31(ywz44301, ywz43801, ty_Bool) → new_esEs14(ywz44301, ywz43801)
new_ltEs19(ywz612, ywz614, app(app(app(ty_@3, eag), eah), eba)) → new_ltEs10(ywz612, ywz614, eag, eah, eba)
new_esEs15(GT, GT) → True
new_compare19(ywz634, ywz635, False, bae, baf) → GT
new_esEs34(ywz598, ywz601, app(app(app(ty_@3, dde), ddf), ddg)) → new_esEs13(ywz598, ywz601, dde, ddf, ddg)
new_ltEs24(ywz527, ywz528, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs10(ywz527, ywz528, bgf, bgg, bgh)
new_esEs39(ywz5271, ywz5281, app(app(ty_@2, feg), feh)) → new_esEs19(ywz5271, ywz5281, feg, feh)
new_lt21(ywz5270, ywz5280, app(ty_Maybe, ecd)) → new_lt16(ywz5270, ywz5280, ecd)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_Maybe, bef)) → new_esEs17(ywz44300, ywz43800, bef)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, Branch(ywz47240, ywz47241, ywz47242, ywz47243, ywz47244), ywz570, False, h, ba) → new_mkBranch3(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz47240, ywz47241, ywz4720, ywz4721, ywz4723, ywz47243, ywz469, ywz470, ywz47244, ywz570, h, ba)
new_esEs39(ywz5271, ywz5281, ty_Double) → new_esEs18(ywz5271, ywz5281)
new_gt(ywz443, ywz438, app(ty_Ratio, ehc)) → new_esEs41(new_compare5(ywz443, ywz438, ehc))
new_esEs11(ywz4431, ywz4381, ty_Ordering) → new_esEs15(ywz4431, ywz4381)
new_primCmpInt(Neg(Succ(ywz44300)), Pos(ywz4380)) → LT
new_gt(ywz443, ywz438, ty_Integer) → new_esEs41(new_compare30(ywz443, ywz438))
new_compare11(Double(ywz4430, ywz4431), Double(ywz4380, ywz4381)) → new_compare8(new_sr(ywz4430, ywz4380), new_sr(ywz4431, ywz4381))

The set Q consists of the following terms:

new_esEs8(x0, x1, app(ty_[], x2))
new_lt24(x0, x1, app(ty_Ratio, x2))
new_esEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs36(x0, x1, ty_@0)
new_mkBranch0(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_lt24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_esEs7(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_Integer)
new_primMinusNat0(Zero, Zero)
new_ltEs24(x0, x1, ty_Bool)
new_pePe(False, x0)
new_ltEs19(x0, x1, ty_Int)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_primCmpNat0(Succ(x0), Zero)
new_esEs35(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_esEs23(Right(x0), Right(x1), x2, ty_Float)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, ty_Integer)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs29(x0, x1, ty_Bool)
new_ltEs23(x0, x1, ty_Float)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs9(x0, x1, ty_Integer)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_@0)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt8(x0, x1)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_mkBranch2(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_esEs31(x0, x1, ty_Int)
new_ltEs6(x0, x1)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, ty_Float)
new_compare30(Integer(x0), Integer(x1))
new_esEs23(Right(x0), Right(x1), x2, ty_Double)
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, ty_Ordering)
new_lt19(x0, x1)
new_compare27(Just(x0), Just(x1), x2)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(Right(x0), Right(x1), x2, x3)
new_esEs4(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare26(x0, x1, ty_Bool)
new_primPlusInt(Pos(x0), Pos(x1))
new_esEs9(x0, x1, ty_Int)
new_compare26(x0, x1, ty_Int)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_lt11(x0, x1, ty_Char)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_compare26(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Double)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Just(x0), Nothing, x1)
new_esEs6(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Integer)
new_lt6(x0, x1, x2, x3)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Integer)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt24(x0, x1, ty_Double)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Ordering)
new_addToFM_C30(x0, x1, x2, x3, x4, x5, x6, x7, x8)
new_esEs38(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs17(Just(x0), Just(x1), ty_Ordering)
new_lt24(x0, x1, ty_Int)
new_ltEs5(EQ, LT)
new_ltEs5(LT, EQ)
new_esEs6(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_@0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_lt11(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_Char)
new_compare26(x0, x1, ty_Integer)
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Bool)
new_compare16(LT, LT)
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs8(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt24(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Zero)
new_esEs5(x0, x1, ty_@0)
new_lt23(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Char)
new_esEs12(LT)
new_esEs10(x0, x1, ty_@0)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Float)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_Integer)
new_lt11(x0, x1, ty_Int)
new_lt22(x0, x1, ty_@0)
new_compare8(x0, x1)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch52(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_esEs34(x0, x1, ty_Bool)
new_lt12(x0, x1, ty_@0)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs36(x0, x1, ty_Bool)
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs39(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Int)
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, False, x8, x9)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_lt21(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Ordering)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs24(@0, @0)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs4(x0, x1, app(ty_[], x2))
new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5)
new_mkBalBranch6MkBalBranch51(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, ty_Ordering)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs24(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Integer)
new_esEs23(Left(x0), Right(x1), x2, x3)
new_esEs23(Right(x0), Left(x1), x2, x3)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs18(Double(x0, x1), Double(x2, x3))
new_esEs38(x0, x1, app(ty_[], x2))
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, EmptyFM, True, x4, x5)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_gt(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_@0)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_@0)
new_compare26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(True, True)
new_pePe(True, x0)
new_lt12(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Float)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_compare18(Char(x0), Char(x1))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_primMinusNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Double)
new_esEs38(x0, x1, ty_Double)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs13(False, False)
new_lt24(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Integer)
new_compare27(Nothing, Just(x0), x1)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_compare212(x0, x1, False, x2, x3)
new_primCmpInt(Pos(Succ(x0)), Pos(Zero))
new_lt11(x0, x1, app(ty_Ratio, x2))
new_ps(x0, x1)
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, ty_Ordering)
new_lt12(x0, x1, app(ty_[], x2))
new_ltEs13(True, False)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_ltEs13(False, True)
new_esEs15(LT, LT)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs23(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs17(Nothing, Nothing, x0)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, app(ty_[], x2))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs17(Just(x0), Nothing, x1)
new_esEs5(x0, x1, ty_Integer)
new_esEs15(EQ, GT)
new_esEs15(GT, EQ)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs17(Just(x0), Just(x1), ty_Bool)
new_compare26(x0, x1, ty_@0)
new_sizeFM(Branch(x0, x1, x2, x3, x4), x5, x6)
new_compare9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs4(x0, x1, ty_Int)
new_esEs40(x0, x1, ty_Double)
new_esEs35(x0, x1, ty_Integer)
new_gt(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Double)
new_ltEs18(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs17(Just(x0), Just(x1), ty_Integer)
new_esEs7(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_Integer)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs21(:(x0, x1), [], x2)
new_addToFM_C(EmptyFM, x0, x1, x2, x3)
new_esEs34(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs15(x0, x1)
new_esEs30(x0, x1, ty_Char)
new_esEs23(Left(x0), Left(x1), ty_Integer, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs23(Left(x0), Left(x1), ty_Double, x2)
new_ltEs22(x0, x1, ty_Char)
new_compare11(Double(x0, x1), Double(x2, x3))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_lt12(x0, x1, ty_Double)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1, app(ty_Maybe, x2))
new_compare6(Left(x0), Right(x1), x2, x3)
new_compare6(Right(x0), Left(x1), x2, x3)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_compare27(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_Char)
new_esEs40(x0, x1, ty_Bool)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_lt24(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_compare110(x0, x1, True, x2, x3)
new_lt11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_compare213(x0, x1, False, x2)
new_ltEs19(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Bool)
new_ltEs23(x0, x1, ty_Bool)
new_compare16(GT, GT)
new_esEs4(x0, x1, ty_Char)
new_ltEs12(Nothing, Nothing, x0)
new_primMulNat0(Succ(x0), Zero)
new_esEs28(x0, x1, ty_Float)
new_ltEs21(x0, x1, ty_Float)
new_mkBranch3(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_ltEs21(x0, x1, app(ty_[], x2))
new_lt24(x0, x1, ty_Char)
new_lt11(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_Float)
new_ltEs22(x0, x1, ty_@0)
new_lt11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_asAs(False, x0)
new_ltEs5(GT, LT)
new_ltEs5(LT, GT)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, ty_Double)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Int)
new_ltEs8(x0, x1)
new_esEs36(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_@0)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_lt23(x0, x1, ty_Int)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare26(x0, x1, ty_Double)
new_gt(x0, x1, ty_Char)
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs23(Right(x0), Right(x1), x2, ty_Ordering)
new_compare211(x0, x1, True, x2, x3)
new_esEs17(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(GT, GT)
new_esEs15(LT, GT)
new_esEs15(GT, LT)
new_ltEs18(x0, x1, ty_Double)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, EmptyFM, x3, True, x4, x5)
new_primEqNat0(Zero, Succ(x0))
new_ltEs20(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare12(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs40(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Char)
new_primCompAux0(x0, GT)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, ty_@0)
new_compare7(@2(x0, x1), @2(x2, x3), x4, x5)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, False, x8, x9)
new_esEs9(x0, x1, ty_Double)
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusInt(Neg(x0), Neg(x1))
new_ltEs24(x0, x1, app(ty_[], x2))
new_compare26(x0, x1, app(ty_[], x2))
new_not(True)
new_compare5(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primCompAux0(x0, EQ)
new_ltEs9(x0, x1, x2)
new_compare5(:%(x0, x1), :%(x2, x3), ty_Int)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs23(x0, x1, ty_Char)
new_sizeFM(EmptyFM, x0, x1)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_esEs35(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Ordering)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_@0)
new_esEs12(EQ)
new_lt24(x0, x1, ty_Integer)
new_mkBranchResult(x0, x1, x2, x3, x4, x5)
new_lt22(x0, x1, ty_Int)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Integer)
new_ltEs14(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_Ordering)
new_ltEs11(x0, x1)
new_esEs39(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, ty_@0)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux0(x0, LT)
new_esEs30(x0, x1, ty_Int)
new_compare12(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs36(x0, x1, ty_Int)
new_primMinusNat0(Zero, Succ(x0))
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(EQ, EQ)
new_esEs7(x0, x1, ty_Double)
new_esEs12(GT)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_mkBranch(x0, x1, x2, x3, x4, x5)
new_esEs15(EQ, LT)
new_esEs15(LT, EQ)
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs28(x0, x1, ty_@0)
new_compare6(Left(x0), Left(x1), x2, x3)
new_esEs5(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Ordering)
new_asAs(True, x0)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, ty_Char)
new_esEs35(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Int)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_ltEs5(LT, LT)
new_esEs11(x0, x1, ty_Integer)
new_esEs5(x0, x1, app(ty_[], x2))
new_primPlusInt(Pos(x0), Neg(x1))
new_primPlusInt(Neg(x0), Pos(x1))
new_ltEs22(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_emptyFM(x0, x1)
new_esEs23(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs21(:(x0, x1), :(x2, x3), x4)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_fsEs(x0)
new_esEs6(x0, x1, ty_Int)
new_esEs37(x0, x1, ty_Float)
new_lt4(x0, x1, x2)
new_esEs11(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, ty_Double)
new_addToFM_C(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_ltEs18(x0, x1, ty_Float)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, False, x13, x14)
new_gt(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Int)
new_compare16(GT, EQ)
new_compare16(EQ, GT)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(Left(x0), Left(x1), ty_Char, x2)
new_compare17(x0, x1, False, x2)
new_gt(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Integer)
new_compare19(x0, x1, True, x2, x3)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(GT, EQ)
new_ltEs5(EQ, GT)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs39(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_ltEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, x2, x3, True, x4, x5)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(Right(x0), Right(x1), x2, ty_@0)
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_Float)
new_esEs22(Float(x0, x1), Float(x2, x3))
new_lt15(x0, x1, x2, x3, x4)
new_ltEs21(x0, x1, ty_@0)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, ty_Bool)
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, ty_@0)
new_esEs23(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt21(x0, x1, ty_@0)
new_esEs17(Just(x0), Just(x1), ty_@0)
new_esEs14(True, True)
new_esEs35(x0, x1, ty_Char)
new_gt(x0, x1, ty_Float)
new_compare29(@0, @0)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs29(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Char)
new_compare26(x0, x1, ty_Ordering)
new_gt(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare15(Float(x0, x1), Float(x2, x3))
new_esEs6(x0, x1, ty_Ordering)
new_esEs23(Right(x0), Right(x1), x2, ty_Integer)
new_compare16(LT, EQ)
new_compare16(EQ, LT)
new_esEs23(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs17(x0, x1)
new_esEs23(Right(x0), Right(x1), x2, ty_Int)
new_ltEs20(x0, x1, ty_Double)
new_esEs21([], [], x0)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_lt12(x0, x1, ty_Float)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_lt24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Float)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_compare28(True, True)
new_esEs34(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs27(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Float)
new_esEs25(Integer(x0), Integer(x1))
new_esEs11(x0, x1, ty_Ordering)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs17(Just(x0), Just(x1), ty_Double)
new_primEqNat0(Succ(x0), Zero)
new_lt21(x0, x1, app(ty_[], x2))
new_esEs23(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_Int)
new_lt24(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs20(x0, x1, app(ty_[], x2))
new_gt(x0, x1, app(ty_[], x2))
new_esEs17(Nothing, Just(x0), x1)
new_esEs6(x0, x1, ty_Double)
new_lt12(x0, x1, ty_Int)
new_sIZE_RATIO
new_esEs40(x0, x1, ty_Char)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs37(x0, x1, app(ty_[], x2))
new_lt16(x0, x1, x2)
new_lt17(x0, x1)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Ordering)
new_compare19(x0, x1, False, x2, x3)
new_esEs36(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Float)
new_compare211(x0, x1, False, x2, x3)
new_lt12(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_lt14(x0, x1)
new_lt12(x0, x1, ty_Bool)
new_lt22(x0, x1, ty_Bool)
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_compare212(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, app(ty_[], x2))
new_lt18(x0, x1)
new_ltEs24(x0, x1, ty_Double)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs23(Left(x0), Left(x1), ty_Bool, x2)
new_mkBalBranch6MkBalBranch51(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs41(GT)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Float)
new_esEs17(Just(x0), Just(x1), ty_Int)
new_lt23(x0, x1, ty_Bool)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Bool)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), Zero)
new_esEs17(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs20(:%(x0, x1), :%(x2, x3), x4)
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_esEs4(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs34(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch52(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_esEs38(x0, x1, ty_@0)
new_esEs26(x0, x1)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Float)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs6(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_Bool)
new_esEs23(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primPlusNat0(Zero, Zero)
new_esEs39(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Double)
new_compare25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs34(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs7(x0, x1, app(ty_[], x2))
new_compare28(False, False)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, ty_Int)
new_esEs41(EQ)
new_esEs23(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs23(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_gt(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs39(x0, x1, ty_Ordering)
new_esEs39(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Float)
new_ltEs18(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_esEs31(x0, x1, ty_Double)
new_lt11(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr0(Integer(x0), Integer(x1))
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs23(Right(x0), Right(x1), x2, ty_Char)
new_esEs29(x0, x1, ty_Float)
new_primCmpNat0(Zero, Succ(x0))
new_esEs31(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_lt21(x0, x1, ty_Integer)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_compare28(True, False)
new_compare28(False, True)
new_ltEs23(x0, x1, ty_@0)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs17(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_lt11(x0, x1, ty_Integer)
new_esEs39(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Double)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_lt24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs16(Char(x0), Char(x1))
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare110(x0, x1, False, x2, x3)
new_esEs8(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Char)
new_ltEs22(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, False, x13, x14)
new_lt20(x0, x1, ty_Bool)
new_esEs14(True, False)
new_esEs14(False, True)
new_compare27(Nothing, Nothing, x0)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, x4, False, x5, x6)
new_esEs23(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, ty_Double)
new_esEs28(x0, x1, ty_Double)
new_lt12(x0, x1, ty_Char)
new_lt12(x0, x1, ty_Integer)
new_esEs23(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs17(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs23(Left(x0), Left(x1), ty_Int, x2)
new_compare0([], [], x0)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_compare26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(Right(x0), Right(x1), x2, ty_Bool)
new_compare213(x0, x1, True, x2)
new_primMulInt(Neg(x0), Neg(x1))
new_lt7(x0, x1)
new_lt10(x0, x1)
new_lt22(x0, x1, ty_Double)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, ty_Float)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs19(x0, x1, ty_Float)
new_esEs21([], :(x0, x1), x2)
new_esEs39(x0, x1, ty_Double)
new_ltEs16(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Float)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, Branch(x4, x5, x6, x7, x8), True, x9, x10)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Bool)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_lt11(x0, x1, ty_Float)
new_ltEs12(Nothing, Just(x0), x1)
new_lt13(x0, x1)
new_compare25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_lt23(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Bool)
new_esEs23(Left(x0), Left(x1), ty_Float, x2)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Double)
new_compare17(x0, x1, True, x2)
new_esEs8(x0, x1, ty_Integer)
new_compare26(x0, x1, app(app(ty_Either, x2), x3))
new_compare26(x0, x1, ty_Char)
new_esEs23(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt23(x0, x1, ty_@0)
new_ltEs10(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs15(GT, GT)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, x2, x3)
new_esEs34(x0, x1, ty_Integer)
new_compare14(x0, x1, x2, x3, False, x4, x5)
new_compare26(x0, x1, ty_Float)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs38(x0, x1, ty_Bool)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, app(ty_[], x2))
new_esEs41(LT)
new_ltEs20(x0, x1, ty_Char)
new_lt21(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs10(x0, x1, ty_Bool)
new_esEs5(x0, x1, ty_Bool)
new_esEs33(x0, x1, ty_Int)
new_esEs37(x0, x1, ty_Int)
new_lt22(x0, x1, app(ty_[], x2))
new_mkBranch1(x0, x1, x2, x3, x4, x5, x6)
new_primCompAux1(x0, x1, x2, x3)
new_esEs40(x0, x1, ty_Int)
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(EQ, EQ)
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_esEs19(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs32(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Int)
new_esEs7(x0, x1, ty_Char)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_lt21(x0, x1, ty_Int)
new_primCmpInt(Neg(Succ(x0)), Neg(Zero))
new_lt22(x0, x1, ty_Char)
new_ltEs5(EQ, EQ)
new_primCmpInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs5(x0, x1, ty_Double)
new_ltEs21(x0, x1, ty_Char)
new_gt(x0, x1, ty_Bool)
new_esEs8(x0, x1, ty_Char)
new_lt24(x0, x1, ty_Ordering)
new_primMinusNat0(Succ(x0), Zero)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, x4, False, x5, x6)
new_ltEs22(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Float)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_lt9(x0, x1, x2)
new_ltEs4(x0, x1, x2)
new_esEs23(Left(x0), Left(x1), ty_@0, x2)
new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5)
new_ltEs24(x0, x1, ty_Char)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs17(Just(x0), Just(x1), app(ty_[], x2))
new_mkBalBranch6MkBalBranch3(x0, x1, x2, Branch(x3, x4, x5, x6, x7), x8, True, x9, x10)
new_esEs6(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Float)
new_ltEs18(x0, x1, ty_Char)
new_sr(x0, x1)
new_gt(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), ty_Char)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_lt24(x0, x1, ty_@0)
new_esEs23(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs8(x0, x1, ty_Bool)
new_gt(x0, x1, app(ty_Ratio, x2))
new_esEs14(False, False)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_esEs27(x0, x1, ty_Float)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare16(GT, LT)
new_compare16(LT, GT)
new_lt11(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt20(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Double)
new_esEs39(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_Ordering)
new_esEs40(x0, x1, ty_@0)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_gt0(x0, x1)
new_esEs32(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), ty_Float)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch11(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch6(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)
new_mkVBalBranch8(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz333, ywz334, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Neg(Zero), ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch1(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch53(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_mkVBalBranch1(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz332, Branch(ywz3330, ywz3331, ywz3332, ywz3333, ywz3334), ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, ywz35, ywz36, new_esEs12(new_compare8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba)), new_sizeFM(Branch(ywz3330, ywz3331, ywz3332, ywz3333, ywz3334), h, ba))), h, ba)
new_mkVBalBranch6(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, h, ba)
new_mkBalBranch6MkBalBranch55(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, False, h, ba) → new_mkVBalBranch6(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch11(ywz290, ywz291, ywz292, ywz293, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch1(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch1(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch12(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch56(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_mkVBalBranch(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, Branch(ywz3330, ywz3331, ywz3332, ywz3333, ywz3334), h, ba) → new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, ywz35, ywz36, new_esEs12(new_compare8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba)), new_sizeFM(Branch(ywz3330, ywz3331, ywz3332, ywz3333, ywz3334), h, ba))), h, ba)
new_mkBalBranch6MkBalBranch56(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, False, h, ba) → new_mkVBalBranch8(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, new_esEs15(new_primCmpInt(Pos(new_primPlusNat0(new_primMulNat0(Succ(Succ(Succ(Succ(Zero)))), Succ(ywz33200)), Succ(ywz33200))), new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, h, ba)), LT), h, ba)
new_mkBalBranch6MkBalBranch54(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, False, h, ba) → new_mkVBalBranch4(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Pos(Zero), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch10(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, new_esEs12(new_primCmpInt(Pos(Zero), new_sizeFM(Branch(ywz290, ywz291, ywz292, ywz293, ywz294), h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz332, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz333, h, ba)
new_mkBalBranch6MkBalBranch56(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, True, h, ba) → new_mkVBalBranch8(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch12(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch8(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch11(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, new_esEs15(new_primCmpInt(Neg(new_primPlusNat0(new_primMulNat0(Succ(Succ(Succ(Succ(Zero)))), Succ(ywz33200)), Succ(ywz33200))), new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, h, ba)), LT), h, ba)
new_mkBalBranch6MkBalBranch53(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, False, h, ba) → new_mkVBalBranch1(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)
new_mkBalBranch6MkBalBranch54(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, True, h, ba) → new_mkVBalBranch4(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch10(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch4(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch1(ywz290, ywz291, ywz292, ywz293, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch10(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch54(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_mkVBalBranch3MkVBalBranch11(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch55(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Neg(Zero), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch12(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, new_esEs12(new_primCmpInt(Neg(Zero), new_sizeFM(Branch(ywz290, ywz291, ywz292, ywz293, ywz294), h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch12(ywz290, ywz291, ywz292, ywz293, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Neg(Zero), ywz333, ywz334, h, ba)
new_mkVBalBranch3MkVBalBranch10(ywz290, ywz291, ywz292, ywz293, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Pos(Zero), ywz333, ywz334, h, ba)
new_mkVBalBranch4(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz333, ywz334, h, ba) → new_mkVBalBranch3(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Pos(Zero), ywz333, ywz334, h, ba)
new_mkVBalBranch3(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba) → new_mkVBalBranch3MkVBalBranch2(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, ywz35, ywz36, new_esEs12(new_compare8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba)), new_sizeFM(Branch(ywz3330, ywz3331, ywz3332, ywz3333, ywz3334), h, ba))), h, ba)
new_mkBalBranch6MkBalBranch53(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, True, h, ba) → new_mkVBalBranch1(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)
new_mkBalBranch6MkBalBranch55(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, True, h, ba) → new_mkVBalBranch6(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)

The TRS R consists of the following rules:

new_esEs33(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_mkVBalBranch9(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, Branch(ywz3330, ywz3331, ywz3332, ywz3333, ywz3334), h, ba) → new_mkVBalBranch30(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba)
new_ltEs22(ywz5272, ywz5282, app(ty_Ratio, fgh)) → new_ltEs4(ywz5272, ywz5282, fgh)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, ywz423, EmptyFM, ywz425, h, ba) → new_mkBalBranch6MkBalBranch59(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Zero), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs4(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_lt11(ywz598, ywz601, ty_Bool) → new_lt17(ywz598, ywz601)
new_mkBalBranch6MkBalBranch34(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, EmptyFM, True, h, ba) → error([])
new_esEs36(ywz611, ywz613, app(ty_Maybe, eaf)) → new_esEs17(ywz611, ywz613, eaf)
new_esEs36(ywz611, ywz613, app(ty_Ratio, eag)) → new_esEs20(ywz611, ywz613, eag)
new_ltEs21(ywz534, ywz535, app(ty_[], fad)) → new_ltEs9(ywz534, ywz535, fad)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Integer, bah) → new_esEs25(ywz44300, ywz43800)
new_addToFM_C(Branch(ywz4410, ywz4411, ywz4412, ywz4413, ywz4414), ywz443, ywz444, bdc, bdd) → new_addToFM_C30(ywz4410, ywz4411, ywz4412, ywz4413, ywz4414, ywz443, ywz444, bdc, bdd)
new_esEs4(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_compare110(ywz627, ywz628, True, bea, beb) → LT
new_mkBalBranch6MkBalBranch012(ywz330, ywz331, ywz3340, ywz3341, EmptyFM, ywz3344, ywz424, ywz423, False, h, ba) → error([])
new_esEs8(ywz4432, ywz4382, ty_Integer) → new_esEs25(ywz4432, ywz4382)
new_lt22(ywz5270, ywz5280, ty_Ordering) → new_lt8(ywz5270, ywz5280)
new_ltEs22(ywz5272, ywz5282, ty_Bool) → new_ltEs13(ywz5272, ywz5282)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_compare14(ywz680, ywz681, ywz682, ywz683, False, ced, cee) → GT
new_addToFM_C30(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, h, ba) → new_addToFM_C20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, new_lt24(ywz35, ywz290, h), h, ba)
new_esEs15(EQ, EQ) → True
new_esEs37(ywz5270, ywz5280, app(ty_Maybe, edb)) → new_esEs17(ywz5270, ywz5280, edb)
new_esEs28(ywz44301, ywz43801, ty_Char) → new_esEs16(ywz44301, ywz43801)
new_mkBalBranch6MkBalBranch44(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBalBranch6MkBalBranch013(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_lt7(new_sizeFM(ywz3343, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz3344, h, ba))), h, ba)
new_esEs38(ywz5270, ywz5280, ty_Float) → new_esEs22(ywz5270, ywz5280)
new_esEs34(ywz598, ywz601, app(ty_Ratio, deg)) → new_esEs20(ywz598, ywz601, deg)
new_esEs29(ywz44302, ywz43802, app(ty_[], dad)) → new_esEs21(ywz44302, ywz43802, dad)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_[], dba)) → new_ltEs9(ywz5270, ywz5280, dba)
new_esEs29(ywz44302, ywz43802, app(ty_Ratio, dac)) → new_esEs20(ywz44302, ywz43802, dac)
new_mkBalBranch6MkBalBranch33(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, EmptyFM, True, h, ba) → error([])
new_ltEs12(Nothing, Nothing, bhe) → True
new_lt20(ywz611, ywz613, ty_@0) → new_lt18(ywz611, ywz613)
new_ltEs7(Left(ywz5270), Right(ywz5280), ge, fa) → True
new_esEs35(ywz599, ywz602, app(app(ty_Either, dfc), dfd)) → new_esEs23(ywz599, ywz602, dfc, dfd)
new_ltEs20(ywz5271, ywz5281, ty_@0) → new_ltEs15(ywz5271, ywz5281)
new_lt12(ywz599, ywz602, ty_@0) → new_lt18(ywz599, ywz602)
new_esEs39(ywz5271, ywz5281, app(ty_[], feg)) → new_esEs21(ywz5271, ywz5281, feg)
new_esEs36(ywz611, ywz613, ty_@0) → new_esEs24(ywz611, ywz613)
new_esEs8(ywz4432, ywz4382, app(ty_Ratio, cdh)) → new_esEs20(ywz4432, ywz4382, cdh)
new_ltEs24(ywz527, ywz528, app(app(ty_@2, bhg), bhh)) → new_ltEs14(ywz527, ywz528, bhg, bhh)
new_esEs35(ywz599, ywz602, app(app(ty_@2, dgb), dgc)) → new_esEs19(ywz599, ywz602, dgb, dgc)
new_ltEs18(ywz600, ywz603, ty_Char) → new_ltEs16(ywz600, ywz603)
new_mkBalBranch6MkBalBranch114(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, Branch(ywz42340, ywz42341, ywz42342, ywz42343, ywz42344), False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz42340, ywz42341, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz4230, ywz4231, ywz4233, ywz42343, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz330, ywz331, ywz42344, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), h, ba), h, ba)
new_esEs11(ywz4431, ywz4381, ty_Integer) → new_esEs25(ywz4431, ywz4381)
new_esEs38(ywz5270, ywz5280, ty_Integer) → new_esEs25(ywz5270, ywz5280)
new_lt21(ywz5270, ywz5280, app(ty_Ratio, edc)) → new_lt4(ywz5270, ywz5280, edc)
new_ltEs24(ywz527, ywz528, ty_Double) → new_ltEs8(ywz527, ywz528)
new_esEs5(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs18(ywz600, ywz603, app(ty_[], dgd)) → new_ltEs9(ywz600, ywz603, dgd)
new_ltEs20(ywz5271, ywz5281, ty_Int) → new_ltEs11(ywz5271, ywz5281)
new_lt17(ywz35, ywz290) → new_esEs12(new_compare28(ywz35, ywz290))
new_esEs31(ywz44301, ywz43801, app(app(ty_@2, ec), ed)) → new_esEs19(ywz44301, ywz43801, ec, ed)
new_compare16(LT, GT) → LT
new_esEs29(ywz44302, ywz43802, ty_@0) → new_esEs24(ywz44302, ywz43802)
new_lt23(ywz5271, ywz5281, ty_Integer) → new_lt19(ywz5271, ywz5281)
new_ltEs20(ywz5271, ywz5281, app(ty_[], edf)) → new_ltEs9(ywz5271, ywz5281, edf)
new_mkBranch2(ywz789, ywz790, ywz791, ywz792, ywz793, ywz794, ywz795, ywz796, ywz797, ywz798, ywz799, dag, dah) → new_mkBranchResult(ywz790, ywz791, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz796, ywz797, ywz798, ywz799, dag, dah), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz792, ywz793, ywz794, ywz795, dag, dah), dag, dah)
new_ltEs5(EQ, LT) → False
new_gt(ywz443, ywz438, app(ty_[], bga)) → new_esEs41(new_compare0(ywz443, ywz438, bga))
new_esEs37(ywz5270, ywz5280, ty_Int) → new_esEs26(ywz5270, ywz5280)
new_ltEs13(True, False) → False
new_esEs7(ywz4431, ywz4381, ty_Bool) → new_esEs14(ywz4431, ywz4381)
new_ltEs23(ywz556, ywz557, app(app(ty_@2, gbf), gbg)) → new_ltEs14(ywz556, ywz557, gbf, gbg)
new_lt23(ywz5271, ywz5281, ty_Float) → new_lt14(ywz5271, ywz5281)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, EmptyFM, ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(ywz42620), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch58(ywz330, ywz331, ywz424, ywz423, new_esEs12(new_primCmpInt(new_primPlusInt(Neg(ywz42620), Pos(Zero)), Pos(Succ(Succ(Zero))))), h, ba)
new_mkBalBranch6MkBalBranch31(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, Branch(ywz4230, ywz4231, ywz4232, ywz4233, ywz4234), True, h, ba) → new_mkBalBranch6MkBalBranch111(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, new_lt7(new_sizeFM(ywz4234, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz4233, h, ba))), h, ba)
new_esEs29(ywz44302, ywz43802, app(app(app(ty_@3, che), chf), chg)) → new_esEs13(ywz44302, ywz43802, che, chf, chg)
new_esEs4(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_lt23(ywz5271, ywz5281, ty_Int) → new_lt7(ywz5271, ywz5281)
new_mkBalBranch6MkBalBranch41(ywz330, ywz331, ywz424, ywz423, True, h, ba) → error([])
new_mkVBalBranch3MkVBalBranch20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Pos(Zero), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch13(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, new_esEs12(new_primCmpInt(Pos(Zero), new_sizeFM(Branch(ywz290, ywz291, ywz292, ywz293, ywz294), h, ba))), h, ba)
new_compare6(Left(ywz4430), Right(ywz4380), ehf, ehg) → LT
new_esEs28(ywz44301, ywz43801, app(app(ty_Either, chc), chd)) → new_esEs23(ywz44301, ywz43801, chc, chd)
new_esEs10(ywz4430, ywz4380, app(ty_Ratio, efh)) → new_esEs20(ywz4430, ywz4380, efh)
new_esEs38(ywz5270, ywz5280, ty_Double) → new_esEs18(ywz5270, ywz5280)
new_pePe(False, ywz757) → ywz757
new_esEs36(ywz611, ywz613, app(app(app(ty_@3, eac), ead), eae)) → new_esEs13(ywz611, ywz613, eac, ead, eae)
new_lt22(ywz5270, ywz5280, app(app(app(ty_@3, fdh), fea), feb)) → new_lt15(ywz5270, ywz5280, fdh, fea, feb)
new_mkBalBranch6MkBalBranch114(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, True, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz4230, ywz4231, ywz4233, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz330, ywz331, ywz4234, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), h, ba), h, ba)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, app(app(ty_@2, hf), hg)) → new_ltEs14(ywz5270, ywz5280, hf, hg)
new_esEs35(ywz599, ywz602, ty_Bool) → new_esEs14(ywz599, ywz602)
new_compare26(ywz4430, ywz4380, ty_Float) → new_compare15(ywz4430, ywz4380)
new_esEs27(ywz44300, ywz43800, app(app(app(ty_@3, cfa), cfb), cfc)) → new_esEs13(ywz44300, ywz43800, cfa, cfb, cfc)
new_esEs10(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, app(ty_Ratio, he)) → new_ltEs4(ywz5270, ywz5280, he)
new_mkBalBranch6Size_r(ywz438, ywz439, ywz442, ywz573, bdc, bdd) → new_sizeFM(ywz442, bdc, bdd)
new_esEs4(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_mkBalBranch6MkBalBranch511(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, True, h, ba) → new_mkBranchResult(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba)
new_lt22(ywz5270, ywz5280, ty_Double) → new_lt13(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_gt(ywz443, ywz438, ty_Double) → new_esEs41(new_compare11(ywz443, ywz438))
new_lt13(ywz35, ywz290) → new_esEs12(new_compare11(ywz35, ywz290))
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Integer) → new_ltEs17(ywz5270, ywz5280)
new_esEs9(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_lt21(ywz5270, ywz5280, ty_Char) → new_lt10(ywz5270, ywz5280)
new_esEs37(ywz5270, ywz5280, ty_Double) → new_esEs18(ywz5270, ywz5280)
new_esEs12(GT) → False
new_esEs6(ywz4430, ywz4380, app(app(ty_@2, cbb), cbc)) → new_esEs19(ywz4430, ywz4380, cbb, cbc)
new_esEs10(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs10(ywz5270, ywz5280, ha, hb, hc)
new_lt22(ywz5270, ywz5280, app(app(ty_Either, fdf), fdg)) → new_lt5(ywz5270, ywz5280, fdf, fdg)
new_lt12(ywz599, ywz602, app(app(ty_Either, dfc), dfd)) → new_lt5(ywz599, ywz602, dfc, dfd)
new_esEs30(ywz44300, ywz43800, app(app(ty_Either, de), df)) → new_esEs23(ywz44300, ywz43800, de, df)
new_esEs8(ywz4432, ywz4382, ty_Int) → new_esEs26(ywz4432, ywz4382)
new_esEs15(EQ, GT) → False
new_esEs15(GT, EQ) → False
new_mkBranch5(ywz730, ywz731, ywz732, ywz733, ywz734, ywz735, ywz736, ywz737, ywz738, ywz739, ywz740, ywz741, ywz742, bde, bdf) → new_mkBranchResult(ywz731, ywz732, Branch(ywz738, ywz739, Neg(Succ(ywz740)), ywz741, ywz742), Branch(ywz733, ywz734, ywz735, ywz736, ywz737), bde, bdf)
new_esEs40(ywz44300, ywz43800, app(app(app(ty_@3, gbh), gca), gcb)) → new_esEs13(ywz44300, ywz43800, gbh, gca, gcb)
new_mkBranch3(ywz821, ywz822, ywz823, ywz824, ywz825, ywz826, ywz827, ywz828, ywz829, ywz830, ywz831, fdc, fdd) → new_mkBranch1(ywz821, ywz822, ywz823, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz824, ywz825, ywz826, ywz827, fdc, fdd), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz828, ywz829, ywz830, ywz831, fdc, fdd), fdc, fdd)
new_lt23(ywz5271, ywz5281, ty_Ordering) → new_lt8(ywz5271, ywz5281)
new_mkBalBranch6MkBalBranch512(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch43(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_ltEs15(ywz527, ywz528) → new_fsEs(new_compare29(ywz527, ywz528))
new_mkBalBranch6MkBalBranch513(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, True, h, ba) → new_mkBranchResult(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba)
new_esEs40(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_compare210(ywz611, ywz612, ywz613, ywz614, False, dhf, dhg) → new_compare13(ywz611, ywz612, ywz613, ywz614, new_lt20(ywz611, ywz613, dhf), new_asAs(new_esEs36(ywz611, ywz613, dhf), new_ltEs19(ywz612, ywz614, dhg)), dhf, dhg)
new_esEs40(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_lt24(ywz35, ywz290, app(app(ty_Either, bgb), bgc)) → new_lt5(ywz35, ywz290, bgb, bgc)
new_pePe(True, ywz757) → True
new_compare0([], [], bga) → EQ
new_primEqNat0(Zero, Zero) → True
new_esEs38(ywz5270, ywz5280, ty_Char) → new_esEs16(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_compare16(LT, LT) → EQ
new_mkBalBranch6MkBalBranch511(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, False, h, ba) → new_mkBalBranch6MkBalBranch4(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), new_gt0(new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba))), h, ba)
new_mkBalBranch6MkBalBranch33(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Zero), ywz330, ywz331, ywz423, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), h, ba)
new_esEs29(ywz44302, ywz43802, ty_Integer) → new_esEs25(ywz44302, ywz43802)
new_esEs5(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs12(EQ) → False
new_esEs40(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_lt20(ywz611, ywz613, app(ty_[], dhh)) → new_lt9(ywz611, ywz613, dhh)
new_compare30(Integer(ywz4430), Integer(ywz4380)) → new_primCmpInt(ywz4430, ywz4380)
new_mkBalBranch6MkBalBranch514(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, True, h, ba) → new_mkBranchResult(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_Maybe, bba), bah) → new_esEs17(ywz44300, ywz43800, bba)
new_esEs31(ywz44301, ywz43801, ty_Float) → new_esEs22(ywz44301, ywz43801)
new_compare110(ywz627, ywz628, False, bea, beb) → GT
new_esEs11(ywz4431, ywz4381, ty_Char) → new_esEs16(ywz4431, ywz4381)
new_esEs29(ywz44302, ywz43802, app(ty_Maybe, chh)) → new_esEs17(ywz44302, ywz43802, chh)
new_lt22(ywz5270, ywz5280, app(ty_[], fde)) → new_lt9(ywz5270, ywz5280, fde)
new_esEs37(ywz5270, ywz5280, ty_Float) → new_esEs22(ywz5270, ywz5280)
new_esEs5(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_esEs31(ywz44301, ywz43801, app(app(ty_Either, eg), eh)) → new_esEs23(ywz44301, ywz43801, eg, eh)
new_esEs28(ywz44301, ywz43801, ty_@0) → new_esEs24(ywz44301, ywz43801)
new_ltEs5(LT, LT) → True
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_@0, fa) → new_ltEs15(ywz5270, ywz5280)
new_lt21(ywz5270, ywz5280, ty_Ordering) → new_lt8(ywz5270, ywz5280)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(app(ty_@3, bae), baf), bag), bah) → new_esEs13(ywz44300, ywz43800, bae, baf, bag)
new_addToFM_C20(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, True, bdc, bdd) → new_mkBalBranch6MkBalBranch52(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bdc, bdd), bdc, bdd), new_mkBalBranch6Size_r(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bdc, bdd), bdc, bdd)), Pos(Succ(Succ(Zero)))), bdc, bdd)
new_ps(ywz709, ywz708) → new_primPlusInt(ywz709, ywz708)
new_lt11(ywz598, ywz601, app(app(app(ty_@3, dec), ded), dee)) → new_lt15(ywz598, ywz601, dec, ded, dee)
new_primEqInt(Neg(Succ(ywz443000)), Neg(Succ(ywz438000))) → new_primEqNat0(ywz443000, ywz438000)
new_ltEs21(ywz534, ywz535, ty_Integer) → new_ltEs17(ywz534, ywz535)
new_ltEs18(ywz600, ywz603, app(app(ty_Either, dge), dgf)) → new_ltEs7(ywz600, ywz603, dge, dgf)
new_esEs9(ywz4430, ywz4380, app(app(app(ty_@3, fhc), fhd), fhe)) → new_esEs13(ywz4430, ywz4380, fhc, fhd, fhe)
new_esEs10(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(ty_@2, bbb), bbc), bah) → new_esEs19(ywz44300, ywz43800, bbb, bbc)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch512(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Succ(Succ(new_primPlusNat0(ywz426200, ywz334200)))), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs32(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_esEs6(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_esEs30(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_lt24(ywz35, ywz290, ty_Char) → new_lt10(ywz35, ywz290)
new_compare213(ywz556, ywz557, True, gae) → EQ
new_mkBalBranch6MkBalBranch59(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch42(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_compare26(ywz4430, ywz4380, app(app(ty_@2, ddc), ddd)) → new_compare7(ywz4430, ywz4380, ddc, ddd)
new_ltEs7(Right(ywz5270), Left(ywz5280), ge, fa) → False
new_esEs30(ywz44300, ywz43800, app(app(ty_@2, da), db)) → new_esEs19(ywz44300, ywz43800, da, db)
new_mkBalBranch6MkBalBranch59(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranchResult(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz423, h, ba)
new_esEs8(ywz4432, ywz4382, app(app(ty_@2, cdf), cdg)) → new_esEs19(ywz4432, ywz4382, cdf, cdg)
new_mkBalBranch6MkBalBranch114(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, EmptyFM, False, h, ba) → error([])
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Int, fa) → new_ltEs11(ywz5270, ywz5280)
new_compare8(ywz443, ywz438) → new_primCmpInt(ywz443, ywz438)
new_esEs39(ywz5271, ywz5281, ty_Char) → new_esEs16(ywz5271, ywz5281)
new_primCompAux0(ywz521, GT) → GT
new_mkBalBranch6MkBalBranch34(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, Branch(ywz4230, ywz4231, ywz4232, ywz4233, ywz4234), True, h, ba) → new_mkBalBranch6MkBalBranch113(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, new_lt7(new_sizeFM(ywz4234, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz4233, h, ba))), h, ba)
new_esEs21([], [], fbh) → True
new_ltEs21(ywz534, ywz535, ty_Bool) → new_ltEs13(ywz534, ywz535)
new_lt21(ywz5270, ywz5280, ty_Float) → new_lt14(ywz5270, ywz5280)
new_lt20(ywz611, ywz613, ty_Ordering) → new_lt8(ywz611, ywz613)
new_esEs6(ywz4430, ywz4380, app(ty_Ratio, cbd)) → new_esEs20(ywz4430, ywz4380, cbd)
new_lt11(ywz598, ywz601, app(ty_[], ddh)) → new_lt9(ywz598, ywz601, ddh)
new_lt21(ywz5270, ywz5280, app(app(ty_Either, ece), ecf)) → new_lt5(ywz5270, ywz5280, ece, ecf)
new_ltEs22(ywz5272, ywz5282, ty_Int) → new_ltEs11(ywz5272, ywz5282)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_ltEs19(ywz612, ywz614, ty_Bool) → new_ltEs13(ywz612, ywz614)
new_esEs28(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_ltEs19(ywz612, ywz614, app(ty_Ratio, eca)) → new_ltEs4(ywz612, ywz614, eca)
new_esEs9(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_primEqInt(Pos(Succ(ywz443000)), Pos(Succ(ywz438000))) → new_primEqNat0(ywz443000, ywz438000)
new_mkBalBranch6MkBalBranch52(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, True, bdc, bdd) → new_mkBranchResult(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bdc, bdd), bdc, bdd)
new_ltEs18(ywz600, ywz603, ty_Double) → new_ltEs8(ywz600, ywz603)
new_ltEs19(ywz612, ywz614, ty_Integer) → new_ltEs17(ywz612, ywz614)
new_lt14(ywz35, ywz290) → new_esEs12(new_compare15(ywz35, ywz290))
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch59(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Zero), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs11(ywz4431, ywz4381, ty_Bool) → new_esEs14(ywz4431, ywz4381)
new_lt20(ywz611, ywz613, ty_Int) → new_lt7(ywz611, ywz613)
new_esEs28(ywz44301, ywz43801, ty_Ordering) → new_esEs15(ywz44301, ywz43801)
new_mkBalBranch6MkBalBranch57(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, False, h, ba) → new_mkBalBranch6MkBalBranch4(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), new_gt0(new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba))), h, ba)
new_esEs28(ywz44301, ywz43801, app(app(ty_@2, cgg), cgh)) → new_esEs19(ywz44301, ywz43801, cgg, cgh)
new_esEs35(ywz599, ywz602, ty_Float) → new_esEs22(ywz599, ywz602)
new_primEqNat0(Succ(ywz443000), Succ(ywz438000)) → new_primEqNat0(ywz443000, ywz438000)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Double) → new_esEs18(ywz44300, ywz43800)
new_esEs39(ywz5271, ywz5281, ty_Bool) → new_esEs14(ywz5271, ywz5281)
new_ltEs18(ywz600, ywz603, ty_Float) → new_ltEs6(ywz600, ywz603)
new_compare26(ywz4430, ywz4380, ty_Bool) → new_compare28(ywz4430, ywz4380)
new_ltEs20(ywz5271, ywz5281, ty_Char) → new_ltEs16(ywz5271, ywz5281)
new_compare12(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, ywz672, bb, bc, bd) → new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, bb, bc, bd)
new_ltEs19(ywz612, ywz614, app(app(ty_Either, ebc), ebd)) → new_ltEs7(ywz612, ywz614, ebc, ebd)
new_mkBranch0(ywz780, ywz781, ywz782, ywz783, ywz784, ywz785, ywz786, ywz787, bh, ca) → new_mkBranchResult(ywz780, ywz781, new_mkBranch1(ywz783, ywz784, ywz785, ywz786, ywz787, bh, ca), ywz782, bh, ca)
new_mkVBalBranch5(ywz35, ywz36, EmptyFM, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba) → new_addToFM(ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, ywz35, ywz36, h, ba)
new_lt11(ywz598, ywz601, app(app(ty_@2, deh), dfa)) → new_lt6(ywz598, ywz601, deh, dfa)
new_ltEs24(ywz527, ywz528, ty_Int) → new_ltEs11(ywz527, ywz528)
new_esEs22(Float(ywz44300, ywz44301), Float(ywz43800, ywz43801)) → new_esEs26(new_sr(ywz44300, ywz43800), new_sr(ywz44301, ywz43801))
new_compare213(ywz556, ywz557, False, gae) → new_compare17(ywz556, ywz557, new_ltEs23(ywz556, ywz557, gae), gae)
new_esEs11(ywz4431, ywz4381, ty_Int) → new_esEs26(ywz4431, ywz4381)
new_lt21(ywz5270, ywz5280, ty_Double) → new_lt13(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch013(ywz330, ywz331, ywz3340, ywz3341, Branch(ywz33430, ywz33431, ywz33432, ywz33433, ywz33434), ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Zero)))), ywz33430, ywz33431, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz330, ywz331, ywz423, ywz33433, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz3340, ywz3341, ywz33434, ywz3344, h, ba), h, ba)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Double) → new_ltEs8(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, ty_Integer) → new_lt19(ywz598, ywz601)
new_ltEs20(ywz5271, ywz5281, app(ty_Maybe, eed)) → new_ltEs12(ywz5271, ywz5281, eed)
new_ltEs8(ywz527, ywz528) → new_fsEs(new_compare11(ywz527, ywz528))
new_ltEs24(ywz527, ywz528, ty_@0) → new_ltEs15(ywz527, ywz528)
new_mkVBalBranch3MkVBalBranch20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch15(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, new_esEs15(new_primCmpInt(Neg(new_primPlusNat0(new_primMulNat0(Succ(Succ(Succ(Succ(Zero)))), Succ(ywz33200)), Succ(ywz33200))), new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, h, ba)), LT), h, ba)
new_esEs7(ywz4431, ywz4381, app(app(ty_Either, cch), cda)) → new_esEs23(ywz4431, ywz4381, cch, cda)
new_esEs18(Double(ywz44300, ywz44301), Double(ywz43800, ywz43801)) → new_esEs26(new_sr(ywz44300, ywz43800), new_sr(ywz44301, ywz43801))
new_ltEs22(ywz5272, ywz5282, ty_Float) → new_ltEs6(ywz5272, ywz5282)
new_mkVBalBranch0(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba) → new_mkVBalBranch30(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, h, ba)
new_lt12(ywz599, ywz602, app(ty_[], dfb)) → new_lt9(ywz599, ywz602, dfb)
new_esEs29(ywz44302, ywz43802, ty_Double) → new_esEs18(ywz44302, ywz43802)
new_esEs10(ywz4430, ywz4380, app(app(app(ty_@3, efb), efc), efd)) → new_esEs13(ywz4430, ywz4380, efb, efc, efd)
new_compare212(ywz527, ywz528, False, bgg, bgh) → new_compare110(ywz527, ywz528, new_ltEs24(ywz527, ywz528, bgg), bgg, bgh)
new_mkBalBranch6MkBalBranch32(ywz330, ywz331, ywz424, ywz423, False, h, ba) → new_mkBranch(ywz330, ywz331, ywz423, EmptyFM, h, ba)
new_esEs4(ywz4430, ywz4380, app(app(ty_Either, bbh), bah)) → new_esEs23(ywz4430, ywz4380, bbh, bah)
new_gt(ywz443, ywz438, app(app(app(ty_@3, cac), cad), cae)) → new_esEs41(new_compare9(ywz443, ywz438, cac, cad, cae))
new_ltEs20(ywz5271, ywz5281, ty_Integer) → new_ltEs17(ywz5271, ywz5281)
new_lt24(ywz35, ywz290, ty_Bool) → new_lt17(ywz35, ywz290)
new_lt18(ywz50, ywz60) → new_esEs12(new_compare29(ywz50, ywz60))
new_mkBalBranch6MkBalBranch51(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, False, bf, bg) → new_mkBalBranch6MkBalBranch4(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, bf, bg), ywz472, new_addToFM_C(ywz473, ywz474, ywz475, bf, bg), new_gt0(new_mkBalBranch6Size_r(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, bf, bg), ywz472, bf, bg), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, bf, bg), ywz472, bf, bg))), bf, bg)
new_ltEs23(ywz556, ywz557, app(app(ty_Either, gag), gah)) → new_ltEs7(ywz556, ywz557, gag, gah)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_Maybe, dbg)) → new_ltEs12(ywz5270, ywz5280, dbg)
new_esEs7(ywz4431, ywz4381, app(app(ty_@2, ccd), cce)) → new_esEs19(ywz4431, ywz4381, ccd, cce)
new_ltEs18(ywz600, ywz603, app(app(ty_@2, dhd), dhe)) → new_ltEs14(ywz600, ywz603, dhd, dhe)
new_ltEs22(ywz5272, ywz5282, app(app(ty_Either, fgb), fgc)) → new_ltEs7(ywz5272, ywz5282, fgb, fgc)
new_esEs28(ywz44301, ywz43801, app(ty_Maybe, cgf)) → new_esEs17(ywz44301, ywz43801, cgf)
new_compare16(GT, EQ) → GT
new_ltEs24(ywz527, ywz528, app(ty_Ratio, bhf)) → new_ltEs4(ywz527, ywz528, bhf)
new_ltEs19(ywz612, ywz614, ty_@0) → new_ltEs15(ywz612, ywz614)
new_esEs11(ywz4431, ywz4381, ty_Double) → new_esEs18(ywz4431, ywz4381)
new_lt12(ywz599, ywz602, ty_Float) → new_lt14(ywz599, ywz602)
new_compare26(ywz4430, ywz4380, ty_Int) → new_compare8(ywz4430, ywz4380)
new_esEs11(ywz4431, ywz4381, app(app(ty_Either, ehd), ehe)) → new_esEs23(ywz4431, ywz4381, ehd, ehe)
new_primCmpInt(Neg(Succ(ywz44300)), Neg(Zero)) → LT
new_compare6(Right(ywz4430), Right(ywz4380), ehf, ehg) → new_compare211(ywz4430, ywz4380, new_esEs5(ywz4430, ywz4380, ehg), ehf, ehg)
new_mkVBalBranch3MkVBalBranch14(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkBranch6(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, EmptyFM, ywz424, ywz423, EmptyFM, ywz425, h, ba) → new_mkBalBranch6MkBalBranch58(ywz330, ywz331, ywz424, ywz423, new_esEs12(new_primCmpInt(new_primPlusInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))))), h, ba)
new_primEqInt(Pos(Zero), Neg(Succ(ywz438000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz438000))) → False
new_ltEs20(ywz5271, ywz5281, ty_Float) → new_ltEs6(ywz5271, ywz5281)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz43800))) → new_primCmpNat0(Zero, Succ(ywz43800))
new_ltEs23(ywz556, ywz557, app(ty_Maybe, gbd)) → new_ltEs12(ywz556, ywz557, gbd)
new_mkVBalBranch3MkVBalBranch20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz332, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch510(ywz330, ywz331, ywz334, new_mkVBalBranch9(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz333, h, ba), new_mkVBalBranch9(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz333, h, ba), new_mkVBalBranch9(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz333, h, ba), new_mkVBalBranch9(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz333, h, ba), h, ba)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(ty_@2, gc), gd), fa) → new_ltEs14(ywz5270, ywz5280, gc, gd)
new_mkBranch(ywz469, ywz470, ywz472, ywz570, bf, bg) → new_mkBranchResult(ywz469, ywz470, ywz570, ywz472, bf, bg)
new_lt20(ywz611, ywz613, app(ty_Ratio, eag)) → new_lt4(ywz611, ywz613, eag)
new_esEs29(ywz44302, ywz43802, ty_Int) → new_esEs26(ywz44302, ywz43802)
new_ltEs18(ywz600, ywz603, ty_@0) → new_ltEs15(ywz600, ywz603)
new_esEs39(ywz5271, ywz5281, app(ty_Ratio, fff)) → new_esEs20(ywz5271, ywz5281, fff)
new_emptyFM(bdc, bdd) → EmptyFM
new_esEs31(ywz44301, ywz43801, app(ty_Maybe, eb)) → new_esEs17(ywz44301, ywz43801, eb)
new_esEs30(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_lt21(ywz5270, ywz5280, ty_Bool) → new_lt17(ywz5270, ywz5280)
new_primCompAux0(ywz521, LT) → LT
new_not(False) → True
new_compare12(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, False, ywz672, bb, bc, bd) → new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, ywz672, bb, bc, bd)
new_esEs7(ywz4431, ywz4381, ty_Char) → new_esEs16(ywz4431, ywz4381)
new_ltEs23(ywz556, ywz557, app(ty_[], gaf)) → new_ltEs9(ywz556, ywz557, gaf)
new_esEs28(ywz44301, ywz43801, app(app(app(ty_@3, cgc), cgd), cge)) → new_esEs13(ywz44301, ywz43801, cgc, cgd, cge)
new_esEs8(ywz4432, ywz4382, app(app(app(ty_@3, cdb), cdc), cdd)) → new_esEs13(ywz4432, ywz4382, cdb, cdc, cdd)
new_esEs8(ywz4432, ywz4382, ty_@0) → new_esEs24(ywz4432, ywz4382)
new_lt20(ywz611, ywz613, app(app(app(ty_@3, eac), ead), eae)) → new_lt15(ywz611, ywz613, eac, ead, eae)
new_lt12(ywz599, ywz602, ty_Integer) → new_lt19(ywz599, ywz602)
new_esEs13(@3(ywz44300, ywz44301, ywz44302), @3(ywz43800, ywz43801, ywz43802), cef, ceg, ceh) → new_asAs(new_esEs27(ywz44300, ywz43800, cef), new_asAs(new_esEs28(ywz44301, ywz43801, ceg), new_esEs29(ywz44302, ywz43802, ceh)))
new_lt11(ywz598, ywz601, ty_@0) → new_lt18(ywz598, ywz601)
new_esEs34(ywz598, ywz601, ty_Int) → new_esEs26(ywz598, ywz601)
new_mkBranch6(ywz712, ywz713, ywz714, ywz715, ywz716, ywz717, ywz718, ywz719, ywz720, ywz721, ywz722, ywz723, ywz724, bdg, bdh) → new_mkBranchResult(ywz713, ywz714, Branch(ywz720, ywz721, Pos(Succ(ywz722)), ywz723, ywz724), Branch(ywz715, ywz716, ywz717, ywz718, ywz719), bdg, bdh)
new_compare212(ywz527, ywz528, True, bgg, bgh) → EQ
new_lt20(ywz611, ywz613, ty_Double) → new_lt13(ywz611, ywz613)
new_ltEs23(ywz556, ywz557, ty_Float) → new_ltEs6(ywz556, ywz557)
new_compare0(:(ywz4430, ywz4431), [], bga) → GT
new_lt12(ywz599, ywz602, ty_Ordering) → new_lt8(ywz599, ywz602)
new_lt22(ywz5270, ywz5280, ty_Float) → new_lt14(ywz5270, ywz5280)
new_esEs40(ywz44300, ywz43800, app(ty_[], gch)) → new_esEs21(ywz44300, ywz43800, gch)
new_esEs28(ywz44301, ywz43801, ty_Float) → new_esEs22(ywz44301, ywz43801)
new_esEs7(ywz4431, ywz4381, ty_Ordering) → new_esEs15(ywz4431, ywz4381)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(ty_Either, dbb), dbc)) → new_ltEs7(ywz5270, ywz5280, dbb, dbc)
new_mkBalBranch6MkBalBranch58(ywz330, ywz331, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch41(ywz330, ywz331, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_r(ywz330, ywz331, EmptyFM, ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz330, ywz331, EmptyFM, ywz424, h, ba))), h, ba)
new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, False, bb, bc, bd) → GT
new_esEs39(ywz5271, ywz5281, ty_Integer) → new_esEs25(ywz5271, ywz5281)
new_mkBalBranch6MkBalBranch110(ywz330, ywz331, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, Branch(ywz42340, ywz42341, ywz42342, ywz42343, ywz42344), False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz42340, ywz42341, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz4230, ywz4231, ywz4233, ywz42343, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz330, ywz331, ywz42344, EmptyFM, h, ba), h, ba)
new_compare5(:%(ywz4430, ywz4431), :%(ywz4380, ywz4381), ty_Int) → new_compare8(new_sr(ywz4430, ywz4381), new_sr(ywz4380, ywz4431))
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, EmptyFM, ywz425, h, ba) → new_mkBalBranch6MkBalBranch512(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Succ(ywz334200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_ltEs11(ywz527, ywz528) → new_fsEs(new_compare8(ywz527, ywz528))
new_lt9(ywz35, ywz290, bab) → new_esEs12(new_compare0(ywz35, ywz290, bab))
new_compare28(True, False) → GT
new_ltEs18(ywz600, ywz603, ty_Integer) → new_ltEs17(ywz600, ywz603)
new_esEs39(ywz5271, ywz5281, app(app(app(ty_@3, ffb), ffc), ffd)) → new_esEs13(ywz5271, ywz5281, ffb, ffc, ffd)
new_compare28(True, True) → EQ
new_primMulInt(Neg(ywz44310), Neg(ywz43810)) → Pos(new_primMulNat0(ywz44310, ywz43810))
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, EmptyFM, ywz425, h, ba) → new_mkBalBranch6MkBalBranch515(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Neg(Succ(ywz334200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_primEqNat0(Succ(ywz443000), Zero) → False
new_primEqNat0(Zero, Succ(ywz438000)) → False
new_ltEs22(ywz5272, ywz5282, ty_@0) → new_ltEs15(ywz5272, ywz5282)
new_ltEs23(ywz556, ywz557, app(app(app(ty_@3, gba), gbb), gbc)) → new_ltEs10(ywz556, ywz557, gba, gbb, gbc)
new_esEs15(LT, GT) → False
new_esEs15(GT, LT) → False
new_esEs40(ywz44300, ywz43800, app(ty_Maybe, gcc)) → new_esEs17(ywz44300, ywz43800, gcc)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Double, bah) → new_esEs18(ywz44300, ywz43800)
new_mkBalBranch6MkBalBranch113(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, EmptyFM, False, h, ba) → error([])
new_ltEs4(ywz527, ywz528, bhf) → new_fsEs(new_compare5(ywz527, ywz528, bhf))
new_ltEs21(ywz534, ywz535, ty_Float) → new_ltEs6(ywz534, ywz535)
new_ltEs24(ywz527, ywz528, app(app(ty_Either, ge), fa)) → new_ltEs7(ywz527, ywz528, ge, fa)
new_esEs9(ywz4430, ywz4380, app(app(ty_Either, gac), gad)) → new_esEs23(ywz4430, ywz4380, gac, gad)
new_esEs34(ywz598, ywz601, ty_Bool) → new_esEs14(ywz598, ywz601)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Integer, fa) → new_ltEs17(ywz5270, ywz5280)
new_compare16(LT, EQ) → LT
new_ltEs22(ywz5272, ywz5282, ty_Double) → new_ltEs8(ywz5272, ywz5282)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Float, bah) → new_esEs22(ywz44300, ywz43800)
new_sizeFM(Branch(ywz4420, ywz4421, ywz4422, ywz4423, ywz4424), bdc, bdd) → ywz4422
new_compare26(ywz4430, ywz4380, app(app(ty_Either, dcd), dce)) → new_compare6(ywz4430, ywz4380, dcd, dce)
new_mkVBalBranch2(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz333, ywz334, h, ba) → new_mkVBalBranch30(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Pos(Zero), ywz333, ywz334, h, ba)
new_esEs35(ywz599, ywz602, ty_Char) → new_esEs16(ywz599, ywz602)
new_mkBranch1(ywz783, ywz784, ywz785, ywz786, ywz787, bh, ca) → new_mkBranchResult(ywz784, ywz785, ywz787, ywz786, bh, ca)
new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, EmptyFM, ywz570, True, bf, bg) → error([])
new_primMinusNat0(Zero, Zero) → Pos(Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz43800))) → GT
new_ltEs22(ywz5272, ywz5282, ty_Char) → new_ltEs16(ywz5272, ywz5282)
new_lt7(ywz35, ywz290) → new_esEs12(new_compare8(ywz35, ywz290))
new_compare0(:(ywz4430, ywz4431), :(ywz4380, ywz4381), bga) → new_primCompAux1(ywz4430, ywz4380, new_compare0(ywz4431, ywz4381, bga), bga)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(ty_Ratio, dbh)) → new_ltEs4(ywz5270, ywz5280, dbh)
new_compare19(ywz634, ywz635, True, bac, bad) → LT
new_esEs40(ywz44300, ywz43800, app(ty_Ratio, gcg)) → new_esEs20(ywz44300, ywz43800, gcg)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_ltEs19(ywz612, ywz614, ty_Double) → new_ltEs8(ywz612, ywz614)
new_lt20(ywz611, ywz613, app(app(ty_@2, eah), eba)) → new_lt6(ywz611, ywz613, eah, eba)
new_esEs7(ywz4431, ywz4381, ty_Double) → new_esEs18(ywz4431, ywz4381)
new_esEs5(ywz4430, ywz4380, app(app(ty_@2, fce), fcf)) → new_esEs19(ywz4430, ywz4380, fce, fcf)
new_esEs8(ywz4432, ywz4382, ty_Ordering) → new_esEs15(ywz4432, ywz4382)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch59(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Zero), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_ltEs23(ywz556, ywz557, app(ty_Ratio, gbe)) → new_ltEs4(ywz556, ywz557, gbe)
new_primPlusInt(Pos(ywz50420), Pos(ywz5810)) → Pos(new_primPlusNat0(ywz50420, ywz5810))
new_esEs7(ywz4431, ywz4381, ty_Int) → new_esEs26(ywz4431, ywz4381)
new_esEs31(ywz44301, ywz43801, app(app(app(ty_@3, dg), dh), ea)) → new_esEs13(ywz44301, ywz43801, dg, dh, ea)
new_lt23(ywz5271, ywz5281, app(app(ty_@2, ffg), ffh)) → new_lt6(ywz5271, ywz5281, ffg, ffh)
new_esEs36(ywz611, ywz613, app(app(ty_Either, eaa), eab)) → new_esEs23(ywz611, ywz613, eaa, eab)
new_lt24(ywz35, ywz290, ty_@0) → new_lt18(ywz35, ywz290)
new_ltEs18(ywz600, ywz603, ty_Int) → new_ltEs11(ywz600, ywz603)
new_compare14(ywz680, ywz681, ywz682, ywz683, True, ced, cee) → LT
new_ltEs24(ywz527, ywz528, ty_Float) → new_ltEs6(ywz527, ywz528)
new_ltEs14(@2(ywz5270, ywz5271), @2(ywz5280, ywz5281), bhg, bhh) → new_pePe(new_lt21(ywz5270, ywz5280, bhg), new_asAs(new_esEs37(ywz5270, ywz5280, bhg), new_ltEs20(ywz5271, ywz5281, bhh)))
new_lt11(ywz598, ywz601, ty_Double) → new_lt13(ywz598, ywz601)
new_compare26(ywz4430, ywz4380, ty_Integer) → new_compare30(ywz4430, ywz4380)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, app(ty_[], bch)) → new_esEs21(ywz44300, ywz43800, bch)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs38(ywz5270, ywz5280, ty_Int) → new_esEs26(ywz5270, ywz5280)
new_esEs10(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_compare13(ywz680, ywz681, ywz682, ywz683, True, ywz685, ced, cee) → new_compare14(ywz680, ywz681, ywz682, ywz683, True, ced, cee)
new_mkBalBranch6MkBalBranch512(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranchResult(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz423, h, ba)
new_esEs30(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_asAs(False, ywz643) → False
new_compare26(ywz4430, ywz4380, ty_@0) → new_compare29(ywz4430, ywz4380)
new_lt23(ywz5271, ywz5281, ty_Bool) → new_lt17(ywz5271, ywz5281)
new_esEs7(ywz4431, ywz4381, ty_@0) → new_esEs24(ywz4431, ywz4381)
new_primMulInt(Pos(ywz44310), Neg(ywz43810)) → Neg(new_primMulNat0(ywz44310, ywz43810))
new_primMulInt(Neg(ywz44310), Pos(ywz43810)) → Neg(new_primMulNat0(ywz44310, ywz43810))
new_esEs10(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_mkBalBranch6MkBalBranch43(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBalBranch6MkBalBranch011(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_lt7(new_sizeFM(ywz3343, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz3344, h, ba))), h, ba)
new_addToFM_C(EmptyFM, ywz443, ywz444, bdc, bdd) → Branch(ywz443, ywz444, Pos(Succ(Zero)), new_emptyFM(bdc, bdd), new_emptyFM(bdc, bdd))
new_lt21(ywz5270, ywz5280, ty_Int) → new_lt7(ywz5270, ywz5280)
new_lt12(ywz599, ywz602, ty_Double) → new_lt13(ywz599, ywz602)
new_esEs37(ywz5270, ywz5280, ty_Integer) → new_esEs25(ywz5270, ywz5280)
new_ltEs16(ywz527, ywz528) → new_fsEs(new_compare18(ywz527, ywz528))
new_mkBalBranch6MkBalBranch515(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch40(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_esEs27(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_esEs28(ywz44301, ywz43801, ty_Double) → new_esEs18(ywz44301, ywz43801)
new_ltEs18(ywz600, ywz603, app(ty_Maybe, dhb)) → new_ltEs12(ywz600, ywz603, dhb)
new_lt24(ywz35, ywz290, app(app(app(ty_@3, bec), bed), bee)) → new_lt15(ywz35, ywz290, bec, bed, bee)
new_lt19(ywz35, ywz290) → new_esEs12(new_compare30(ywz35, ywz290))
new_esEs30(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_ltEs24(ywz527, ywz528, app(ty_[], bha)) → new_ltEs9(ywz527, ywz528, bha)
new_esEs7(ywz4431, ywz4381, ty_Float) → new_esEs22(ywz4431, ywz4381)
new_esEs36(ywz611, ywz613, app(ty_[], dhh)) → new_esEs21(ywz611, ywz613, dhh)
new_esEs9(ywz4430, ywz4380, app(ty_[], gab)) → new_esEs21(ywz4430, ywz4380, gab)
new_compare26(ywz4430, ywz4380, app(ty_Ratio, ddb)) → new_compare5(ywz4430, ywz4380, ddb)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Int) → new_esEs26(ywz44300, ywz43800)
new_ltEs23(ywz556, ywz557, ty_Int) → new_ltEs11(ywz556, ywz557)
new_mkBalBranch6MkBalBranch012(ywz330, ywz331, ywz3340, ywz3341, Branch(ywz33430, ywz33431, ywz33432, ywz33433, ywz33434), ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Zero)))), ywz33430, ywz33431, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz330, ywz331, ywz423, ywz33433, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz3340, ywz3341, ywz33434, ywz3344, h, ba), h, ba)
new_ltEs12(Nothing, Just(ywz5280), bhe) → True
new_compare27(Nothing, Just(ywz4380), ehh) → LT
new_esEs33(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_esEs35(ywz599, ywz602, ty_Ordering) → new_esEs15(ywz599, ywz602)
new_mkBalBranch6MkBalBranch011(ywz330, ywz331, ywz3340, ywz3341, ywz334200, EmptyFM, ywz3344, ywz424, ywz423, False, h, ba) → error([])
new_esEs14(True, True) → True
new_esEs31(ywz44301, ywz43801, ty_Ordering) → new_esEs15(ywz44301, ywz43801)
new_esEs31(ywz44301, ywz43801, ty_Char) → new_esEs16(ywz44301, ywz43801)
new_esEs4(ywz4430, ywz4380, app(ty_Ratio, hh)) → new_esEs20(ywz4430, ywz4380, hh)
new_compare7(@2(ywz4430, ywz4431), @2(ywz4380, ywz4381), eeh, efa) → new_compare210(ywz4430, ywz4431, ywz4380, ywz4381, new_asAs(new_esEs10(ywz4430, ywz4380, eeh), new_esEs11(ywz4431, ywz4381, efa)), eeh, efa)
new_compare26(ywz4430, ywz4380, app(ty_Maybe, dda)) → new_compare27(ywz4430, ywz4380, dda)
new_ltEs21(ywz534, ywz535, ty_Char) → new_ltEs16(ywz534, ywz535)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Float) → new_esEs22(ywz44300, ywz43800)
new_lt4(ywz35, ywz290, be) → new_esEs12(new_compare5(ywz35, ywz290, be))
new_lt20(ywz611, ywz613, ty_Integer) → new_lt19(ywz611, ywz613)
new_esEs5(ywz4430, ywz4380, app(app(ty_Either, fda), fdb)) → new_esEs23(ywz4430, ywz4380, fda, fdb)
new_ltEs20(ywz5271, ywz5281, app(app(ty_Either, edg), edh)) → new_ltEs7(ywz5271, ywz5281, edg, edh)
new_ltEs13(False, False) → True
new_esEs27(ywz44300, ywz43800, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_lt10(ywz35, ywz290) → new_esEs12(new_compare18(ywz35, ywz290))
new_esEs29(ywz44302, ywz43802, ty_Float) → new_esEs22(ywz44302, ywz43802)
new_esEs41(GT) → True
new_esEs11(ywz4431, ywz4381, app(app(ty_@2, egh), eha)) → new_esEs19(ywz4431, ywz4381, egh, eha)
new_esEs30(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_mkBalBranch6MkBalBranch010(ywz330, ywz331, ywz3340, ywz3341, ywz334200, Branch(ywz33430, ywz33431, ywz33432, ywz33433, ywz33434), ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Zero)))), ywz33430, ywz33431, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz330, ywz331, ywz423, ywz33433, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz3340, ywz3341, ywz33434, ywz3344, h, ba), h, ba)
new_primCmpInt(Pos(Succ(ywz44300)), Pos(Succ(ywz43800))) → new_primCmpNat0(ywz44300, ywz43800)
new_esEs4(ywz4430, ywz4380, app(ty_[], fbh)) → new_esEs21(ywz4430, ywz4380, fbh)
new_lt24(ywz35, ywz290, app(ty_Ratio, be)) → new_lt4(ywz35, ywz290, be)
new_esEs38(ywz5270, ywz5280, app(ty_Maybe, fec)) → new_esEs17(ywz5270, ywz5280, fec)
new_esEs32(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_lt21(ywz5270, ywz5280, ty_Integer) → new_lt19(ywz5270, ywz5280)
new_lt22(ywz5270, ywz5280, ty_Char) → new_lt10(ywz5270, ywz5280)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(app(ty_@3, ff), fg), fh), fa) → new_ltEs10(ywz5270, ywz5280, ff, fg, fh)
new_esEs34(ywz598, ywz601, ty_@0) → new_esEs24(ywz598, ywz601)
new_esEs14(False, False) → True
new_esEs29(ywz44302, ywz43802, ty_Char) → new_esEs16(ywz44302, ywz43802)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_compare211(ywz534, ywz535, False, fab, fac) → new_compare19(ywz534, ywz535, new_ltEs21(ywz534, ywz535, fac), fab, fac)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_@0, bah) → new_esEs24(ywz44300, ywz43800)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_Float) → new_ltEs6(ywz5270, ywz5280)
new_esEs30(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_compare0([], :(ywz4380, ywz4381), bga) → LT
new_esEs35(ywz599, ywz602, ty_Integer) → new_esEs25(ywz599, ywz602)
new_esEs37(ywz5270, ywz5280, app(app(ty_Either, ece), ecf)) → new_esEs23(ywz5270, ywz5280, ece, ecf)
new_esEs34(ywz598, ywz601, ty_Float) → new_esEs22(ywz598, ywz601)
new_asAs(True, ywz643) → ywz643
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch512(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(new_primMinusNat0(ywz334200, ywz426200), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_ltEs5(GT, GT) → True
new_esEs6(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_mkBalBranch6MkBalBranch110(ywz330, ywz331, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, EmptyFM, False, h, ba) → error([])
new_lt20(ywz611, ywz613, ty_Bool) → new_lt17(ywz611, ywz613)
new_ltEs12(Just(ywz5270), Nothing, bhe) → False
new_compare6(Right(ywz4430), Left(ywz4380), ehf, ehg) → GT
new_esEs31(ywz44301, ywz43801, ty_@0) → new_esEs24(ywz44301, ywz43801)
new_esEs6(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_ltEs20(ywz5271, ywz5281, app(app(app(ty_@3, eea), eeb), eec)) → new_ltEs10(ywz5271, ywz5281, eea, eeb, eec)
new_lt12(ywz599, ywz602, ty_Char) → new_lt10(ywz599, ywz602)
new_lt12(ywz599, ywz602, ty_Int) → new_lt7(ywz599, ywz602)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_Ratio, bfe)) → new_esEs20(ywz44300, ywz43800, bfe)
new_ltEs19(ywz612, ywz614, app(app(ty_@2, ecb), ecc)) → new_ltEs14(ywz612, ywz614, ecb, ecc)
new_compare16(EQ, LT) → GT
new_addToFM_C10(ywz469, ywz470, ywz471, ywz472, ywz473, ywz474, ywz475, False, bf, bg) → Branch(ywz474, ywz475, ywz471, ywz472, ywz473)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Char) → new_esEs16(ywz44300, ywz43800)
new_esEs10(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_gt(ywz443, ywz438, ty_Float) → new_esEs41(new_compare15(ywz443, ywz438))
new_ltEs24(ywz527, ywz528, app(ty_Maybe, bhe)) → new_ltEs12(ywz527, ywz528, bhe)
new_esEs29(ywz44302, ywz43802, ty_Bool) → new_esEs14(ywz44302, ywz43802)
new_esEs7(ywz4431, ywz4381, app(ty_[], ccg)) → new_esEs21(ywz4431, ywz4381, ccg)
new_lt11(ywz598, ywz601, app(ty_Maybe, def)) → new_lt16(ywz598, ywz601, def)
new_esEs38(ywz5270, ywz5280, ty_@0) → new_esEs24(ywz5270, ywz5280)
new_compare6(Left(ywz4430), Left(ywz4380), ehf, ehg) → new_compare212(ywz4430, ywz4380, new_esEs4(ywz4430, ywz4380, ehf), ehf, ehg)
new_primCompAux0(ywz521, EQ) → ywz521
new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, ywz5703, ywz5704, True, bf, bg) → new_mkBranchResult(ywz5700, ywz5701, ywz5704, new_mkBranchResult(ywz469, ywz470, ywz5703, ywz472, bf, bg), bf, bg)
new_ltEs5(GT, EQ) → False
new_lt22(ywz5270, ywz5280, app(ty_Ratio, fed)) → new_lt4(ywz5270, ywz5280, fed)
new_compare10(ywz665, ywz666, ywz667, ywz668, ywz669, ywz670, True, bb, bc, bd) → LT
new_esEs34(ywz598, ywz601, ty_Ordering) → new_esEs15(ywz598, ywz601)
new_ltEs21(ywz534, ywz535, ty_Int) → new_ltEs11(ywz534, ywz535)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs9(ywz4430, ywz4380, app(app(ty_@2, fhg), fhh)) → new_esEs19(ywz4430, ywz4380, fhg, fhh)
new_esEs8(ywz4432, ywz4382, app(ty_Maybe, cde)) → new_esEs17(ywz4432, ywz4382, cde)
new_compare210(ywz611, ywz612, ywz613, ywz614, True, dhf, dhg) → EQ
new_not(True) → False
new_primMinusNat0(Succ(ywz504200), Succ(ywz58100)) → new_primMinusNat0(ywz504200, ywz58100)
new_esEs39(ywz5271, ywz5281, app(ty_Maybe, ffe)) → new_esEs17(ywz5271, ywz5281, ffe)
new_primCompAux1(ywz4430, ywz4380, ywz502, bga) → new_primCompAux0(ywz502, new_compare26(ywz4430, ywz4380, bga))
new_esEs4(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_Int) → new_ltEs11(ywz5270, ywz5280)
new_esEs11(ywz4431, ywz4381, app(ty_Maybe, egg)) → new_esEs17(ywz4431, ywz4381, egg)
new_esEs29(ywz44302, ywz43802, app(app(ty_@2, daa), dab)) → new_esEs19(ywz44302, ywz43802, daa, dab)
new_esEs35(ywz599, ywz602, ty_Int) → new_esEs26(ywz599, ywz602)
new_esEs8(ywz4432, ywz4382, ty_Char) → new_esEs16(ywz4432, ywz4382)
new_mkVBalBranch7(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz333, ywz334, h, ba) → new_mkVBalBranch30(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Neg(Zero), ywz333, ywz334, h, ba)
new_lt22(ywz5270, ywz5280, ty_Integer) → new_lt19(ywz5270, ywz5280)
new_ltEs21(ywz534, ywz535, app(ty_Ratio, fbc)) → new_ltEs4(ywz534, ywz535, fbc)
new_mkBalBranch6Size_l(ywz438, ywz439, ywz442, ywz574, bdc, bdd) → new_sizeFM(ywz574, bdc, bdd)
new_ltEs19(ywz612, ywz614, app(ty_[], ebb)) → new_ltEs9(ywz612, ywz614, ebb)
new_compare27(Nothing, Nothing, ehh) → EQ
new_esEs31(ywz44301, ywz43801, app(ty_[], ef)) → new_esEs21(ywz44301, ywz43801, ef)
new_esEs36(ywz611, ywz613, ty_Ordering) → new_esEs15(ywz611, ywz613)
new_lt11(ywz598, ywz601, ty_Char) → new_lt10(ywz598, ywz601)
new_mkBalBranch6MkBalBranch52(ywz438, ywz439, ywz442, ywz441, ywz443, ywz444, False, bdc, bdd) → new_mkBalBranch6MkBalBranch4(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bdc, bdd), ywz442, new_gt0(new_mkBalBranch6Size_r(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bdc, bdd), bdc, bdd), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz438, ywz439, ywz442, new_addToFM_C(ywz441, ywz443, ywz444, bdc, bdd), bdc, bdd))), bdc, bdd)
new_mkVBalBranch3MkVBalBranch15(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkBranch5(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba)
new_esEs6(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, app(ty_[], gf)) → new_ltEs9(ywz5270, ywz5280, gf)
new_lt20(ywz611, ywz613, ty_Float) → new_lt14(ywz611, ywz613)
new_ltEs5(EQ, GT) → True
new_esEs4(ywz4430, ywz4380, app(app(app(ty_@3, cef), ceg), ceh)) → new_esEs13(ywz4430, ywz4380, cef, ceg, ceh)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Ordering, fa) → new_ltEs5(ywz5270, ywz5280)
new_esEs39(ywz5271, ywz5281, ty_Float) → new_esEs22(ywz5271, ywz5281)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_Ratio, gb), fa) → new_ltEs4(ywz5270, ywz5280, gb)
new_lt21(ywz5270, ywz5280, ty_@0) → new_lt18(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch513(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, False, h, ba) → new_mkBalBranch6MkBalBranch4(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), new_gt0(new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba))), h, ba)
new_addToFM_C20(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, False, bdc, bdd) → new_addToFM_C10(ywz438, ywz439, ywz440, ywz441, ywz442, ywz443, ywz444, new_gt(ywz443, ywz438, bdc), bdc, bdd)
new_ltEs18(ywz600, ywz603, app(ty_Ratio, dhc)) → new_ltEs4(ywz600, ywz603, dhc)
new_mkVBalBranch3MkVBalBranch16(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkBranch7(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_mkBalBranch6MkBalBranch30(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Zero), ywz330, ywz331, ywz423, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), h, ba)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_lt21(ywz5270, ywz5280, app(app(ty_@2, edd), ede)) → new_lt6(ywz5270, ywz5280, edd, ede)
new_primMulNat0(Zero, Zero) → Zero
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, ywz423, EmptyFM, ywz425, h, ba) → new_mkBalBranch6MkBalBranch516(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Zero), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs36(ywz611, ywz613, app(app(ty_@2, eah), eba)) → new_esEs19(ywz611, ywz613, eah, eba)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_[], bbe), bah) → new_esEs21(ywz44300, ywz43800, bbe)
new_esEs6(ywz4430, ywz4380, app(app(ty_Either, cbf), cbg)) → new_esEs23(ywz4430, ywz4380, cbf, cbg)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_Ordering) → new_ltEs5(ywz5270, ywz5280)
new_gt(ywz443, ywz438, ty_Char) → new_esEs41(new_compare18(ywz443, ywz438))
new_ltEs24(ywz527, ywz528, ty_Integer) → new_ltEs17(ywz527, ywz528)
new_ltEs24(ywz527, ywz528, ty_Char) → new_ltEs16(ywz527, ywz528)
new_esEs27(ywz44300, ywz43800, app(ty_Maybe, cfd)) → new_esEs17(ywz44300, ywz43800, cfd)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch512(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Succ(ywz334200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs39(ywz5271, ywz5281, app(app(ty_Either, feh), ffa)) → new_esEs23(ywz5271, ywz5281, feh, ffa)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch516(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Neg(Succ(ywz426200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_mkBalBranch6MkBalBranch51(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, True, bf, bg) → new_mkBranchResult(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, bf, bg), ywz472, bf, bg)
new_esEs9(ywz4430, ywz4380, ty_Int) → new_esEs26(ywz4430, ywz4380)
new_ltEs17(ywz527, ywz528) → new_fsEs(new_compare30(ywz527, ywz528))
new_esEs10(ywz4430, ywz4380, app(app(ty_Either, egb), egc)) → new_esEs23(ywz4430, ywz4380, egb, egc)
new_mkVBalBranch3MkVBalBranch14(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch514(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_esEs29(ywz44302, ywz43802, app(app(ty_Either, dae), daf)) → new_esEs23(ywz44302, ywz43802, dae, daf)
new_gt(ywz443, ywz438, ty_@0) → new_esEs41(new_compare29(ywz443, ywz438))
new_esEs35(ywz599, ywz602, app(app(app(ty_@3, dfe), dff), dfg)) → new_esEs13(ywz599, ywz602, dfe, dff, dfg)
new_esEs27(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_esEs36(ywz611, ywz613, ty_Int) → new_esEs26(ywz611, ywz613)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Int) → new_ltEs11(ywz5270, ywz5280)
new_mkVBalBranch3MkVBalBranch20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Neg(Zero), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch16(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, new_esEs12(new_primCmpInt(Neg(Zero), new_sizeFM(Branch(ywz290, ywz291, ywz292, ywz293, ywz294), h, ba))), h, ba)
new_lt11(ywz598, ywz601, ty_Int) → new_lt7(ywz598, ywz601)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_@0) → new_ltEs15(ywz5270, ywz5280)
new_esEs36(ywz611, ywz613, ty_Integer) → new_esEs25(ywz611, ywz613)
new_lt12(ywz599, ywz602, ty_Bool) → new_lt17(ywz599, ywz602)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Char) → new_ltEs16(ywz5270, ywz5280)
new_lt23(ywz5271, ywz5281, ty_@0) → new_lt18(ywz5271, ywz5281)
new_ltEs19(ywz612, ywz614, app(ty_Maybe, ebh)) → new_ltEs12(ywz612, ywz614, ebh)
new_esEs9(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_esEs11(ywz4431, ywz4381, app(ty_Ratio, ehb)) → new_esEs20(ywz4431, ywz4381, ehb)
new_compare17(ywz648, ywz649, False, baa) → GT
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch512(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Succ(ywz334200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_ltEs22(ywz5272, ywz5282, app(app(ty_@2, fha), fhb)) → new_ltEs14(ywz5272, ywz5282, fha, fhb)
new_mkBalBranch6MkBalBranch44(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch31(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_addToFM_C10(ywz469, ywz470, ywz471, ywz472, ywz473, ywz474, ywz475, True, bf, bg) → new_mkBalBranch6MkBalBranch51(ywz469, ywz470, ywz473, ywz474, ywz475, ywz472, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, bf, bg), ywz472, bf, bg), new_mkBalBranch6Size_r(ywz469, ywz470, new_addToFM_C(ywz473, ywz474, ywz475, bf, bg), ywz472, bf, bg)), Pos(Succ(Succ(Zero)))), bf, bg)
new_esEs34(ywz598, ywz601, app(ty_Maybe, def)) → new_esEs17(ywz598, ywz601, def)
new_compare5(:%(ywz4430, ywz4431), :%(ywz4380, ywz4381), ty_Integer) → new_compare30(new_sr0(ywz4430, ywz4381), new_sr0(ywz4380, ywz4431))
new_compare29(@0, @0) → EQ
new_esEs30(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_ltEs21(ywz534, ywz535, ty_Double) → new_ltEs8(ywz534, ywz535)
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(app(ty_@3, beg), beh), bfa)) → new_esEs13(ywz44300, ywz43800, beg, beh, bfa)
new_lt23(ywz5271, ywz5281, app(app(ty_Either, feh), ffa)) → new_lt5(ywz5271, ywz5281, feh, ffa)
new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba) → new_sizeFM(Branch(ywz290, ywz291, ywz292, ywz293, ywz294), h, ba)
new_mkBalBranch6MkBalBranch514(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, False, h, ba) → new_mkBalBranch6MkBalBranch4(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), new_gt0(new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch0(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba))), h, ba)
new_esEs30(ywz44300, ywz43800, app(ty_Maybe, cg)) → new_esEs17(ywz44300, ywz43800, cg)
new_esEs23(Left(ywz44300), Left(ywz43800), app(ty_Ratio, bbd), bah) → new_esEs20(ywz44300, ywz43800, bbd)
new_esEs38(ywz5270, ywz5280, app(app(app(ty_@3, fdh), fea), feb)) → new_esEs13(ywz5270, ywz5280, fdh, fea, feb)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, EmptyFM, ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(ywz42620), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch58(ywz330, ywz331, ywz424, ywz423, new_esEs12(new_primCmpInt(new_primPlusInt(Pos(ywz42620), Pos(Zero)), Pos(Succ(Succ(Zero))))), h, ba)
new_lt22(ywz5270, ywz5280, app(app(ty_@2, fee), fef)) → new_lt6(ywz5270, ywz5280, fee, fef)
new_esEs10(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(ty_@2, dca), dcb)) → new_ltEs14(ywz5270, ywz5280, dca, dcb)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Int, bah) → new_esEs26(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(ty_Ratio, fed)) → new_esEs20(ywz5270, ywz5280, fed)
new_ltEs21(ywz534, ywz535, app(app(ty_@2, fbd), fbe)) → new_ltEs14(ywz534, ywz535, fbd, fbe)
new_esEs23(Right(ywz44300), Left(ywz43800), bbh, bah) → False
new_esEs23(Left(ywz44300), Right(ywz43800), bbh, bah) → False
new_esEs40(ywz44300, ywz43800, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_esEs15(LT, EQ) → False
new_esEs15(EQ, LT) → False
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_Char) → new_ltEs16(ywz5270, ywz5280)
new_primCmpInt(Neg(Succ(ywz44300)), Neg(Succ(ywz43800))) → new_primCmpNat0(ywz43800, ywz44300)
new_lt24(ywz35, ywz290, ty_Int) → new_lt7(ywz35, ywz290)
new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, ywz4724, ywz570, True, bf, bg) → new_mkBranch0(ywz4720, ywz4721, ywz4723, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz469, ywz470, ywz4724, ywz570, bf, bg)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Bool, bah) → new_esEs14(ywz44300, ywz43800)
new_gt(ywz443, ywz438, ty_Bool) → new_esEs41(new_compare28(ywz443, ywz438))
new_lt20(ywz611, ywz613, app(ty_Maybe, eaf)) → new_lt16(ywz611, ywz613, eaf)
new_esEs12(LT) → True
new_esEs39(ywz5271, ywz5281, ty_Int) → new_esEs26(ywz5271, ywz5281)
new_esEs37(ywz5270, ywz5280, ty_Bool) → new_esEs14(ywz5270, ywz5280)
new_esEs31(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_primCmpNat0(Zero, Succ(ywz43800)) → LT
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch59(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Succ(ywz426200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs5(ywz4430, ywz4380, app(ty_[], fch)) → new_esEs21(ywz4430, ywz4380, fch)
new_mkBranch7(ywz478, ywz479, ywz480, ywz481, ywz482, ywz483, ywz484, ywz485, ywz486, ywz487, ywz488, ywz489, caa, cab) → new_mkBranchResult(ywz479, ywz480, Branch(ywz486, ywz487, Neg(Zero), ywz488, ywz489), Branch(ywz481, ywz482, ywz483, ywz484, ywz485), caa, cab)
new_esEs24(@0, @0) → True
new_mkBalBranch6MkBalBranch013(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranch1(Succ(Succ(Zero)), ywz3340, ywz3341, new_mkBranch1(Succ(Succ(Succ(Zero))), ywz330, ywz331, ywz423, ywz3343, h, ba), ywz3344, h, ba)
new_ltEs24(ywz527, ywz528, ty_Ordering) → new_ltEs5(ywz527, ywz528)
new_ltEs22(ywz5272, ywz5282, ty_Ordering) → new_ltEs5(ywz5272, ywz5282)
new_ltEs13(False, True) → True
new_esEs26(ywz4430, ywz4380) → new_primEqInt(ywz4430, ywz4380)
new_esEs5(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_esEs20(:%(ywz44300, ywz44301), :%(ywz43800, ywz43801), hh) → new_asAs(new_esEs32(ywz44300, ywz43800, hh), new_esEs33(ywz44301, ywz43801, hh))
new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, Branch(ywz4720, ywz4721, ywz4722, ywz4723, ywz4724), ywz570, True, bf, bg) → new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, ywz4724, ywz570, new_lt7(new_sizeFM(ywz4724, bf, bg), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz4723, bf, bg))), bf, bg)
new_mkBalBranch6MkBalBranch011(ywz330, ywz331, ywz3340, ywz3341, ywz334200, Branch(ywz33430, ywz33431, ywz33432, ywz33433, ywz33434), ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Zero)))), ywz33430, ywz33431, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz330, ywz331, ywz423, ywz33433, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz3340, ywz3341, ywz33434, ywz3344, h, ba), h, ba)
new_compare16(GT, GT) → EQ
new_esEs10(ywz4430, ywz4380, app(ty_[], ega)) → new_esEs21(ywz4430, ywz4380, ega)
new_lt20(ywz611, ywz613, app(app(ty_Either, eaa), eab)) → new_lt5(ywz611, ywz613, eaa, eab)
new_mkBalBranch6MkBalBranch31(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Zero), ywz330, ywz331, ywz423, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), h, ba)
new_compare27(Just(ywz4430), Nothing, ehh) → GT
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(ty_Either, bfg), bfh)) → new_esEs23(ywz44300, ywz43800, bfg, bfh)
new_esEs30(ywz44300, ywz43800, app(ty_Ratio, dc)) → new_esEs20(ywz44300, ywz43800, dc)
new_mkBalBranch6MkBalBranch010(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranch1(Succ(Succ(Zero)), ywz3340, ywz3341, new_mkBranch1(Succ(Succ(Succ(Zero))), ywz330, ywz331, ywz423, ywz3343, h, ba), ywz3344, h, ba)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch515(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(new_primMinusNat0(ywz426200, ywz334200), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_ltEs18(ywz600, ywz603, app(app(app(ty_@3, dgg), dgh), dha)) → new_ltEs10(ywz600, ywz603, dgg, dgh, dha)
new_lt24(ywz35, ywz290, app(ty_Maybe, bgd)) → new_lt16(ywz35, ywz290, bgd)
new_esEs38(ywz5270, ywz5280, app(ty_[], fde)) → new_esEs21(ywz5270, ywz5280, fde)
new_ltEs24(ywz527, ywz528, ty_Bool) → new_ltEs13(ywz527, ywz528)
new_compare26(ywz4430, ywz4380, ty_Char) → new_compare18(ywz4430, ywz4380)
new_mkBalBranch6MkBalBranch43(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch34(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_sr(ywz4431, ywz4381) → new_primMulInt(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, ty_@0) → new_esEs24(ywz5270, ywz5280)
new_ltEs21(ywz534, ywz535, ty_Ordering) → new_ltEs5(ywz534, ywz535)
new_esEs34(ywz598, ywz601, ty_Double) → new_esEs18(ywz598, ywz601)
new_lt12(ywz599, ywz602, app(ty_Maybe, dfh)) → new_lt16(ywz599, ywz602, dfh)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_esEs5(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_esEs37(ywz5270, ywz5280, ty_Char) → new_esEs16(ywz5270, ywz5280)
new_lt12(ywz599, ywz602, app(app(app(ty_@3, dfe), dff), dfg)) → new_lt15(ywz599, ywz602, dfe, dff, dfg)
new_esEs28(ywz44301, ywz43801, app(ty_[], chb)) → new_esEs21(ywz44301, ywz43801, chb)
new_mkVBalBranch5(ywz35, ywz36, Branch(ywz2940, ywz2941, ywz2942, ywz2943, ywz2944), ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba) → new_mkVBalBranch30(ywz35, ywz36, ywz2940, ywz2941, ywz2942, ywz2943, ywz2944, ywz330, ywz331, Neg(Succ(ywz33200)), ywz333, ywz334, h, ba)
new_esEs16(Char(ywz44300), Char(ywz43800)) → new_primEqNat0(ywz44300, ywz43800)
new_gt(ywz443, ywz438, ty_Ordering) → new_esEs41(new_compare16(ywz443, ywz438))
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_@0) → new_ltEs15(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch42(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBalBranch6MkBalBranch012(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_lt7(new_sizeFM(ywz3343, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz3344, h, ba))), h, ba)
new_mkBalBranch6MkBalBranch112(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, EmptyFM, False, h, ba) → error([])
new_esEs34(ywz598, ywz601, app(ty_[], ddh)) → new_esEs21(ywz598, ywz601, ddh)
new_esEs6(ywz4430, ywz4380, ty_Ordering) → new_esEs15(ywz4430, ywz4380)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Ordering, bah) → new_esEs15(ywz44300, ywz43800)
new_esEs27(ywz44300, ywz43800, app(ty_[], cfh)) → new_esEs21(ywz44300, ywz43800, cfh)
new_ltEs20(ywz5271, ywz5281, app(ty_Ratio, eee)) → new_ltEs4(ywz5271, ywz5281, eee)
new_esEs38(ywz5270, ywz5280, ty_Bool) → new_esEs14(ywz5270, ywz5280)
new_gt0(ywz443, ywz438) → new_esEs41(new_compare8(ywz443, ywz438))
new_esEs35(ywz599, ywz602, ty_Double) → new_esEs18(ywz599, ywz602)
new_fsEs(ywz752) → new_not(new_esEs15(ywz752, GT))
new_lt24(ywz35, ywz290, ty_Ordering) → new_lt8(ywz35, ywz290)
new_lt23(ywz5271, ywz5281, app(ty_Ratio, fff)) → new_lt4(ywz5271, ywz5281, fff)
new_esEs37(ywz5270, ywz5280, app(app(app(ty_@3, ecg), ech), eda)) → new_esEs13(ywz5270, ywz5280, ecg, ech, eda)
new_esEs31(ywz44301, ywz43801, app(ty_Ratio, ee)) → new_esEs20(ywz44301, ywz43801, ee)
new_esEs27(ywz44300, ywz43800, app(app(ty_Either, cga), cgb)) → new_esEs23(ywz44300, ywz43800, cga, cgb)
new_ltEs21(ywz534, ywz535, app(app(ty_Either, fae), faf)) → new_ltEs7(ywz534, ywz535, fae, faf)
new_esEs4(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs8(ywz4432, ywz4382, ty_Double) → new_esEs18(ywz4432, ywz4382)
new_esEs9(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs10(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs10(ywz4430, ywz4380, app(ty_Maybe, efe)) → new_esEs17(ywz4430, ywz4380, efe)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_Integer) → new_esEs25(ywz44300, ywz43800)
new_primEqInt(Neg(Succ(ywz443000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(ywz438000))) → False
new_ltEs10(@3(ywz5270, ywz5271, ywz5272), @3(ywz5280, ywz5281, ywz5282), bhb, bhc, bhd) → new_pePe(new_lt22(ywz5270, ywz5280, bhb), new_asAs(new_esEs38(ywz5270, ywz5280, bhb), new_pePe(new_lt23(ywz5271, ywz5281, bhc), new_asAs(new_esEs39(ywz5271, ywz5281, bhc), new_ltEs22(ywz5272, ywz5282, bhd)))))
new_mkBalBranch6MkBalBranch515(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranchResult(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz423, h, ba)
new_esEs37(ywz5270, ywz5280, app(app(ty_@2, edd), ede)) → new_esEs19(ywz5270, ywz5280, edd, ede)
new_esEs17(Nothing, Nothing, bef) → True
new_esEs19(@2(ywz44300, ywz44301), @2(ywz43800, ywz43801), cb, cc) → new_asAs(new_esEs30(ywz44300, ywz43800, cb), new_esEs31(ywz44301, ywz43801, cc))
new_ltEs22(ywz5272, ywz5282, app(ty_Maybe, fgg)) → new_ltEs12(ywz5272, ywz5282, fgg)
new_esEs28(ywz44301, ywz43801, ty_Integer) → new_esEs25(ywz44301, ywz43801)
new_lt22(ywz5270, ywz5280, ty_Int) → new_lt7(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch4(ywz469, ywz470, ywz571, ywz472, ywz570, False, bf, bg) → new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, ywz472, ywz570, new_gt0(new_mkBalBranch6Size_l(ywz469, ywz470, ywz571, ywz472, bf, bg), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz469, ywz470, ywz571, ywz472, bf, bg))), bf, bg)
new_esEs4(ywz4430, ywz4380, app(app(ty_@2, cb), cc)) → new_esEs19(ywz4430, ywz4380, cb, cc)
new_esEs7(ywz4431, ywz4381, app(ty_Maybe, ccc)) → new_esEs17(ywz4431, ywz4381, ccc)
new_mkVBalBranch2(ywz35, ywz36, EmptyFM, ywz330, ywz331, ywz333, ywz334, h, ba) → new_addToFM(ywz330, ywz331, Pos(Zero), ywz333, ywz334, ywz35, ywz36, h, ba)
new_lt21(ywz5270, ywz5280, app(ty_[], ecd)) → new_lt9(ywz5270, ywz5280, ecd)
new_esEs36(ywz611, ywz613, ty_Bool) → new_esEs14(ywz611, ywz613)
new_esEs40(ywz44300, ywz43800, app(app(ty_Either, gda), gdb)) → new_esEs23(ywz44300, ywz43800, gda, gdb)
new_esEs6(ywz4430, ywz4380, app(ty_Maybe, cba)) → new_esEs17(ywz4430, ywz4380, cba)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_@0) → new_esEs24(ywz44300, ywz43800)
new_primMinusNat0(Succ(ywz504200), Zero) → Pos(Succ(ywz504200))
new_primCmpNat0(Succ(ywz44300), Succ(ywz43800)) → new_primCmpNat0(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(app(ty_@2, fee), fef)) → new_esEs19(ywz5270, ywz5280, fee, fef)
new_compare28(False, False) → EQ
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Bool) → new_ltEs13(ywz5270, ywz5280)
new_sizeFM(EmptyFM, bdc, bdd) → Pos(Zero)
new_ltEs5(EQ, EQ) → True
new_mkVBalBranch7(ywz35, ywz36, EmptyFM, ywz330, ywz331, ywz333, ywz334, h, ba) → new_addToFM(ywz330, ywz331, Neg(Zero), ywz333, ywz334, ywz35, ywz36, h, ba)
new_compare26(ywz4430, ywz4380, app(app(app(ty_@3, dcf), dcg), dch)) → new_compare9(ywz4430, ywz4380, dcf, dcg, dch)
new_esEs35(ywz599, ywz602, ty_@0) → new_esEs24(ywz599, ywz602)
new_ltEs22(ywz5272, ywz5282, ty_Integer) → new_ltEs17(ywz5272, ywz5282)
new_compare28(False, True) → LT
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch515(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Neg(Succ(Succ(new_primPlusNat0(ywz426200, ywz334200)))), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs7(ywz4431, ywz4381, ty_Integer) → new_esEs25(ywz4431, ywz4381)
new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, EmptyFM, ywz5704, False, bf, bg) → error([])
new_esEs37(ywz5270, ywz5280, app(ty_Ratio, edc)) → new_esEs20(ywz5270, ywz5280, edc)
new_lt22(ywz5270, ywz5280, ty_@0) → new_lt18(ywz5270, ywz5280)
new_esEs31(ywz44301, ywz43801, ty_Double) → new_esEs18(ywz44301, ywz43801)
new_esEs14(False, True) → False
new_esEs14(True, False) → False
new_esEs5(ywz4430, ywz4380, app(ty_Maybe, fcd)) → new_esEs17(ywz4430, ywz4380, fcd)
new_esEs23(Left(ywz44300), Left(ywz43800), ty_Char, bah) → new_esEs16(ywz44300, ywz43800)
new_esEs17(Nothing, Just(ywz43800), bef) → False
new_esEs17(Just(ywz44300), Nothing, bef) → False
new_esEs34(ywz598, ywz601, ty_Char) → new_esEs16(ywz598, ywz601)
new_mkBalBranch6MkBalBranch112(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, True, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz4230, ywz4231, ywz4233, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz330, ywz331, ywz4234, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), h, ba), h, ba)
new_esEs9(ywz4430, ywz4380, ty_Float) → new_esEs22(ywz4430, ywz4380)
new_esEs21(:(ywz44300, ywz44301), [], fbh) → False
new_esEs21([], :(ywz43800, ywz43801), fbh) → False
new_ltEs22(ywz5272, ywz5282, app(app(app(ty_@3, fgd), fge), fgf)) → new_ltEs10(ywz5272, ywz5282, fgd, fge, fgf)
new_esEs4(ywz4430, ywz4380, ty_Integer) → new_esEs25(ywz4430, ywz4380)
new_mkBalBranch6MkBalBranch111(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, Branch(ywz42340, ywz42341, ywz42342, ywz42343, ywz42344), False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz42340, ywz42341, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz4230, ywz4231, ywz4233, ywz42343, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz330, ywz331, ywz42344, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), h, ba), h, ba)
new_esEs38(ywz5270, ywz5280, ty_Ordering) → new_esEs15(ywz5270, ywz5280)
new_lt11(ywz598, ywz601, app(ty_Ratio, deg)) → new_lt4(ywz598, ywz601, deg)
new_esEs8(ywz4432, ywz4382, app(app(ty_Either, ceb), cec)) → new_esEs23(ywz4432, ywz4382, ceb, cec)
new_mkBalBranch6MkBalBranch010(ywz330, ywz331, ywz3340, ywz3341, ywz334200, EmptyFM, ywz3344, ywz424, ywz423, False, h, ba) → error([])
new_esEs27(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_esEs38(ywz5270, ywz5280, app(app(ty_Either, fdf), fdg)) → new_esEs23(ywz5270, ywz5280, fdf, fdg)
new_lt11(ywz598, ywz601, ty_Float) → new_lt14(ywz598, ywz601)
new_compare25(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, False, dde, ddf, ddg) → new_compare12(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, new_lt11(ywz598, ywz601, dde), new_asAs(new_esEs34(ywz598, ywz601, dde), new_pePe(new_lt12(ywz599, ywz602, ddf), new_asAs(new_esEs35(ywz599, ywz602, ddf), new_ltEs18(ywz600, ywz603, ddg)))), dde, ddf, ddg)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Bool, fa) → new_ltEs13(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, EmptyFM, ywz570, False, bf, bg) → error([])
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_[], fb), fa) → new_ltEs9(ywz5270, ywz5280, fb)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, app(ty_Maybe, bcd)) → new_esEs17(ywz44300, ywz43800, bcd)
new_primEqInt(Pos(Succ(ywz443000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz438000))) → False
new_compare26(ywz4430, ywz4380, app(ty_[], dcc)) → new_compare0(ywz4430, ywz4380, dcc)
new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, Branch(ywz57030, ywz57031, ywz57032, ywz57033, ywz57034), ywz5704, False, bf, bg) → new_mkBranch2(Succ(Succ(Succ(Succ(Zero)))), ywz57030, ywz57031, ywz469, ywz470, ywz472, ywz57033, ywz5700, ywz5701, ywz57034, ywz5704, bf, bg)
new_gt(ywz443, ywz438, app(ty_Maybe, ehh)) → new_esEs41(new_compare27(ywz443, ywz438, ehh))
new_primPlusNat0(Zero, Succ(ywz58100)) → Succ(ywz58100)
new_primPlusNat0(Succ(ywz504200), Zero) → Succ(ywz504200)
new_ltEs5(GT, LT) → False
new_compare25(ywz598, ywz599, ywz600, ywz601, ywz602, ywz603, True, dde, ddf, ddg) → EQ
new_primCmpNat0(Zero, Zero) → EQ
new_lt5(ywz35, ywz290, bgb, bgc) → new_esEs12(new_compare6(ywz35, ywz290, bgb, bgc))
new_primCmpNat0(Succ(ywz44300), Zero) → GT
new_esEs9(ywz4430, ywz4380, app(ty_Maybe, fhf)) → new_esEs17(ywz4430, ywz4380, fhf)
new_mkBalBranch6MkBalBranch113(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, Branch(ywz42340, ywz42341, ywz42342, ywz42343, ywz42344), False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz42340, ywz42341, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz4230, ywz4231, ywz4233, ywz42343, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz330, ywz331, ywz42344, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), h, ba), h, ba)
new_ltEs20(ywz5271, ywz5281, ty_Ordering) → new_ltEs5(ywz5271, ywz5281)
new_esEs36(ywz611, ywz613, ty_Double) → new_esEs18(ywz611, ywz613)
new_lt6(ywz35, ywz290, bge, bgf) → new_esEs12(new_compare7(ywz35, ywz290, bge, bgf))
new_primCmpInt(Neg(Zero), Pos(Succ(ywz43800))) → LT
new_esEs17(Just(ywz44300), Just(ywz43800), ty_@0) → new_esEs24(ywz44300, ywz43800)
new_esEs35(ywz599, ywz602, app(ty_Maybe, dfh)) → new_esEs17(ywz599, ywz602, dfh)
new_lt23(ywz5271, ywz5281, ty_Char) → new_lt10(ywz5271, ywz5281)
new_sr0(Integer(ywz43800), Integer(ywz44310)) → Integer(new_primMulInt(ywz43800, ywz44310))
new_gt(ywz443, ywz438, app(app(ty_Either, ehf), ehg)) → new_esEs41(new_compare6(ywz443, ywz438, ehf, ehg))
new_mkBalBranch6MkBalBranch013(ywz330, ywz331, ywz3340, ywz3341, EmptyFM, ywz3344, ywz424, ywz423, False, h, ba) → error([])
new_esEs4(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_esEs31(ywz44301, ywz43801, ty_Int) → new_esEs26(ywz44301, ywz43801)
new_primEqInt(Pos(Succ(ywz443000)), Neg(ywz43800)) → False
new_primEqInt(Neg(Succ(ywz443000)), Pos(ywz43800)) → False
new_esEs6(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_ltEs23(ywz556, ywz557, ty_Integer) → new_ltEs17(ywz556, ywz557)
new_mkVBalBranch9(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, EmptyFM, h, ba) → new_addToFM(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, h, ba)
new_lt23(ywz5271, ywz5281, app(ty_[], feg)) → new_lt9(ywz5271, ywz5281, feg)
new_primPlusInt(Neg(ywz50420), Pos(ywz5810)) → new_primMinusNat0(ywz5810, ywz50420)
new_primPlusInt(Pos(ywz50420), Neg(ywz5810)) → new_primMinusNat0(ywz50420, ywz5810)
new_mkVBalBranch30(ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba) → new_mkVBalBranch3MkVBalBranch20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, ywz35, ywz36, new_esEs12(new_compare8(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz3330, ywz3331, ywz3332, ywz3333, ywz3334, h, ba)), new_sizeFM(Branch(ywz3330, ywz3331, ywz3332, ywz3333, ywz3334), h, ba))), h, ba)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch515(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Neg(Succ(ywz334200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch516(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Zero), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_mkBalBranch6MkBalBranch112(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, Branch(ywz42340, ywz42341, ywz42342, ywz42343, ywz42344), False, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz42340, ywz42341, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz4230, ywz4231, ywz4233, ywz42343, h, ba), new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz330, ywz331, ywz42344, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), h, ba), h, ba)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Char, fa) → new_ltEs16(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch011(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranch1(Succ(Succ(Zero)), ywz3340, ywz3341, new_mkBranch1(Succ(Succ(Succ(Zero))), ywz330, ywz331, ywz423, ywz3343, h, ba), ywz3344, h, ba)
new_esEs27(ywz44300, ywz43800, app(app(ty_@2, cfe), cff)) → new_esEs19(ywz44300, ywz43800, cfe, cff)
new_mkBalBranch6MkBalBranch111(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, EmptyFM, False, h, ba) → error([])
new_esEs11(ywz4431, ywz4381, app(ty_[], ehc)) → new_esEs21(ywz4431, ywz4381, ehc)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_[], bff)) → new_esEs21(ywz44300, ywz43800, bff)
new_esEs6(ywz4430, ywz4380, ty_@0) → new_esEs24(ywz4430, ywz4380)
new_esEs17(Just(ywz44300), Just(ywz43800), ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs41(EQ) → False
new_mkBalBranch6MkBalBranch40(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBalBranch6MkBalBranch010(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_lt7(new_sizeFM(ywz3343, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz3344, h, ba))), h, ba)
new_lt8(ywz35, ywz290) → new_esEs12(new_compare16(ywz35, ywz290))
new_esEs29(ywz44302, ywz43802, ty_Ordering) → new_esEs15(ywz44302, ywz43802)
new_lt16(ywz35, ywz290, bgd) → new_esEs12(new_compare27(ywz35, ywz290, bgd))
new_ltEs23(ywz556, ywz557, ty_Double) → new_ltEs8(ywz556, ywz557)
new_mkBalBranch6MkBalBranch110(ywz330, ywz331, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, True, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz4230, ywz4231, ywz4233, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz330, ywz331, ywz4234, EmptyFM, h, ba), h, ba)
new_esEs8(ywz4432, ywz4382, app(ty_[], cea)) → new_esEs21(ywz4432, ywz4382, cea)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, app(app(ty_Either, bda), bdb)) → new_esEs23(ywz44300, ywz43800, bda, bdb)
new_esEs11(ywz4431, ywz4381, ty_Float) → new_esEs22(ywz4431, ywz4381)
new_esEs37(ywz5270, ywz5280, app(ty_[], ecd)) → new_esEs21(ywz5270, ywz5280, ecd)
new_lt22(ywz5270, ywz5280, app(ty_Maybe, fec)) → new_lt16(ywz5270, ywz5280, fec)
new_mkBalBranch6MkBalBranch57(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, True, h, ba) → new_mkBranchResult(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba)
new_mkVBalBranch3MkVBalBranch20(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkVBalBranch3MkVBalBranch14(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, new_esEs15(new_primCmpInt(Pos(new_primPlusNat0(new_primMulNat0(Succ(Succ(Succ(Succ(Zero)))), Succ(ywz33200)), Succ(ywz33200))), new_mkVBalBranch3Size_l(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, h, ba)), LT), h, ba)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch516(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Pos(Succ(ywz426200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_compare16(EQ, GT) → LT
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_Bool) → new_ltEs13(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch30(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, EmptyFM, True, h, ba) → error([])
new_mkBalBranch6MkBalBranch34(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBranch1(Succ(Zero), ywz330, ywz331, ywz423, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), h, ba)
new_mkBalBranch6MkBalBranch42(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch33(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_esEs8(ywz4432, ywz4382, ty_Bool) → new_esEs14(ywz4432, ywz4382)
new_esEs9(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_ltEs19(ywz612, ywz614, ty_Float) → new_ltEs6(ywz612, ywz614)
new_addToFM(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, h, ba) → new_addToFM_C30(ywz290, ywz291, ywz292, ywz293, ywz294, ywz35, ywz36, h, ba)
new_esEs7(ywz4431, ywz4381, app(app(app(ty_@3, cbh), cca), ccb)) → new_esEs13(ywz4431, ywz4381, cbh, cca, ccb)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Ordering) → new_ltEs5(ywz5270, ywz5280)
new_gt(ywz443, ywz438, ty_Int) → new_gt0(ywz443, ywz438)
new_esEs39(ywz5271, ywz5281, ty_Ordering) → new_esEs15(ywz5271, ywz5281)
new_primCmpInt(Pos(Succ(ywz44300)), Neg(ywz4380)) → GT
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_Double) → new_ltEs8(ywz5270, ywz5280)
new_primMulInt(Pos(ywz44310), Pos(ywz43810)) → Pos(new_primMulNat0(ywz44310, ywz43810))
new_lt24(ywz35, ywz290, app(app(ty_@2, bge), bgf)) → new_lt6(ywz35, ywz290, bge, bgf)
new_ltEs5(LT, GT) → True
new_esEs35(ywz599, ywz602, app(ty_Ratio, dga)) → new_esEs20(ywz599, ywz602, dga)
new_esEs4(ywz4430, ywz4380, app(ty_Maybe, bef)) → new_esEs17(ywz4430, ywz4380, bef)
new_esEs34(ywz598, ywz601, app(app(ty_Either, dea), deb)) → new_esEs23(ywz598, ywz601, dea, deb)
new_mkBalBranch6MkBalBranch4(ywz469, ywz470, ywz571, ywz472, EmptyFM, True, bf, bg) → error([])
new_esEs34(ywz598, ywz601, ty_Integer) → new_esEs25(ywz598, ywz601)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs12(Just(ywz5270), Just(ywz5280), app(app(app(ty_@3, dbd), dbe), dbf)) → new_ltEs10(ywz5270, ywz5280, dbd, dbe, dbf)
new_mkBalBranch6MkBalBranch3(ywz469, ywz470, ywz571, ywz472, ywz570, False, bf, bg) → new_mkBranch(ywz469, ywz470, ywz472, ywz570, bf, bg)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(app(ty_Either, fc), fd), fa) → new_ltEs7(ywz5270, ywz5280, fc, fd)
new_mkVBalBranch3MkVBalBranch15(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch513(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch5(ywz35, ywz36, ywz294, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_ltEs6(ywz527, ywz528) → new_fsEs(new_compare15(ywz527, ywz528))
new_mkBalBranch6MkBalBranch58(ywz330, ywz331, ywz424, ywz423, True, h, ba) → new_mkBranchResult(ywz330, ywz331, EmptyFM, ywz423, h, ba)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs5(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_primPlusInt(Neg(ywz50420), Neg(ywz5810)) → Neg(new_primPlusNat0(ywz50420, ywz5810))
new_esEs15(LT, LT) → True
new_gt(ywz443, ywz438, app(app(ty_@2, eeh), efa)) → new_esEs41(new_compare7(ywz443, ywz438, eeh, efa))
new_esEs40(ywz44300, ywz43800, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_esEs40(ywz44300, ywz43800, app(app(ty_@2, gce), gcf)) → new_esEs19(ywz44300, ywz43800, gce, gcf)
new_esEs5(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_esEs11(ywz4431, ywz4381, ty_@0) → new_esEs24(ywz4431, ywz4381)
new_lt12(ywz599, ywz602, app(app(ty_@2, dgb), dgc)) → new_lt6(ywz599, ywz602, dgb, dgc)
new_esEs5(ywz4430, ywz4380, app(app(app(ty_@3, fca), fcb), fcc)) → new_esEs13(ywz4430, ywz4380, fca, fcb, fcc)
new_mkVBalBranch0(ywz35, ywz36, EmptyFM, ywz330, ywz331, ywz33200, ywz333, ywz334, h, ba) → new_addToFM(ywz330, ywz331, Pos(Succ(ywz33200)), ywz333, ywz334, ywz35, ywz36, h, ba)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, app(ty_Maybe, hd)) → new_ltEs12(ywz5270, ywz5280, hd)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, app(ty_Ratio, bcg)) → new_esEs20(ywz44300, ywz43800, bcg)
new_esEs9(ywz4430, ywz4380, ty_Bool) → new_esEs14(ywz4430, ywz4380)
new_esEs6(ywz4430, ywz4380, app(app(app(ty_@3, caf), cag), cah)) → new_esEs13(ywz4430, ywz4380, caf, cag, cah)
new_lt11(ywz598, ywz601, ty_Ordering) → new_lt8(ywz598, ywz601)
new_lt24(ywz35, ywz290, ty_Integer) → new_lt19(ywz35, ywz290)
new_esEs36(ywz611, ywz613, ty_Char) → new_esEs16(ywz611, ywz613)
new_esEs27(ywz44300, ywz43800, app(ty_Ratio, cfg)) → new_esEs20(ywz44300, ywz43800, cfg)
new_esEs5(ywz4430, ywz4380, app(ty_Ratio, fcg)) → new_esEs20(ywz4430, ywz4380, fcg)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz43800))) → new_primCmpNat0(Succ(ywz43800), Zero)
new_esEs23(Left(ywz44300), Left(ywz43800), app(app(ty_Either, bbf), bbg), bah) → new_esEs23(ywz44300, ywz43800, bbf, bbg)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, ty_Integer) → new_ltEs17(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch40(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch30(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_mkBalBranch6MkBalBranch32(ywz330, ywz331, ywz424, EmptyFM, True, h, ba) → error([])
new_ltEs19(ywz612, ywz614, ty_Int) → new_ltEs11(ywz612, ywz614)
new_esEs40(ywz44300, ywz43800, ty_Char) → new_esEs16(ywz44300, ywz43800)
new_mkBranch4(ywz447, ywz448, ywz449, ywz450, ywz451, ywz452, ywz453, ywz454, ywz455, ywz456, ywz457, ywz458, fbf, fbg) → new_mkBranchResult(ywz448, ywz449, Branch(ywz455, ywz456, Pos(Zero), ywz457, ywz458), Branch(ywz450, ywz451, ywz452, ywz453, ywz454), fbf, fbg)
new_ltEs21(ywz534, ywz535, app(ty_Maybe, fbb)) → new_ltEs12(ywz534, ywz535, fbb)
new_esEs21(:(ywz44300, ywz44301), :(ywz43800, ywz43801), fbh) → new_asAs(new_esEs40(ywz44300, ywz43800, fbh), new_esEs21(ywz44301, ywz43801, fbh))
new_lt20(ywz611, ywz613, ty_Char) → new_lt10(ywz611, ywz613)
new_lt24(ywz35, ywz290, app(ty_[], bab)) → new_lt9(ywz35, ywz290, bab)
new_esEs30(ywz44300, ywz43800, ty_Float) → new_esEs22(ywz44300, ywz43800)
new_esEs27(ywz44300, ywz43800, ty_Double) → new_esEs18(ywz44300, ywz43800)
new_compare27(Just(ywz4430), Just(ywz4380), ehh) → new_compare213(ywz4430, ywz4380, new_esEs9(ywz4430, ywz4380, ehh), ehh)
new_esEs11(ywz4431, ywz4381, app(app(app(ty_@3, egd), ege), egf)) → new_esEs13(ywz4431, ywz4381, egd, ege, egf)
new_mkBalBranch6MkBalBranch33(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, Branch(ywz4230, ywz4231, ywz4232, ywz4233, ywz4234), True, h, ba) → new_mkBalBranch6MkBalBranch114(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, new_lt7(new_sizeFM(ywz4234, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz4233, h, ba))), h, ba)
new_esEs35(ywz599, ywz602, app(ty_[], dfb)) → new_esEs21(ywz599, ywz602, dfb)
new_ltEs7(Right(ywz5270), Right(ywz5280), ge, app(app(ty_Either, gg), gh)) → new_ltEs7(ywz5270, ywz5280, gg, gh)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, app(app(app(ty_@3, bca), bcb), bcc)) → new_esEs13(ywz44300, ywz43800, bca, bcb, bcc)
new_esEs30(ywz44300, ywz43800, app(app(app(ty_@3, cd), ce), cf)) → new_esEs13(ywz44300, ywz43800, cd, ce, cf)
new_compare16(EQ, EQ) → EQ
new_esEs40(ywz44300, ywz43800, ty_Int) → new_esEs26(ywz44300, ywz43800)
new_esEs36(ywz611, ywz613, ty_Float) → new_esEs22(ywz611, ywz613)
new_mkBalBranch6MkBalBranch516(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch44(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_r(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, h, ba))), h, ba)
new_primMulNat0(Succ(ywz443100), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz438100)) → Zero
new_ltEs18(ywz600, ywz603, ty_Ordering) → new_ltEs5(ywz600, ywz603)
new_compare26(ywz4430, ywz4380, ty_Ordering) → new_compare16(ywz4430, ywz4380)
new_esEs17(Just(ywz44300), Just(ywz43800), app(app(ty_@2, bfc), bfd)) → new_esEs19(ywz44300, ywz43800, bfc, bfd)
new_esEs7(ywz4431, ywz4381, app(ty_Ratio, ccf)) → new_esEs20(ywz4431, ywz4381, ccf)
new_ltEs5(LT, EQ) → True
new_ltEs19(ywz612, ywz614, ty_Char) → new_ltEs16(ywz612, ywz614)
new_ltEs20(ywz5271, ywz5281, app(app(ty_@2, eef), eeg)) → new_ltEs14(ywz5271, ywz5281, eef, eeg)
new_ltEs23(ywz556, ywz557, ty_Char) → new_ltEs16(ywz556, ywz557)
new_esEs28(ywz44301, ywz43801, ty_Bool) → new_esEs14(ywz44301, ywz43801)
new_esEs6(ywz4430, ywz4380, ty_Double) → new_esEs18(ywz4430, ywz4380)
new_esEs30(ywz44300, ywz43800, app(ty_[], dd)) → new_esEs21(ywz44300, ywz43800, dd)
new_esEs39(ywz5271, ywz5281, ty_@0) → new_esEs24(ywz5271, ywz5281)
new_ltEs20(ywz5271, ywz5281, ty_Bool) → new_ltEs13(ywz5271, ywz5281)
new_lt22(ywz5270, ywz5280, ty_Bool) → new_lt17(ywz5270, ywz5280)
new_esEs5(ywz4430, ywz4380, ty_Char) → new_esEs16(ywz4430, ywz4380)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Succ(ywz334200)), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Pos(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch515(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Neg(Succ(ywz334200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs25(Integer(ywz44300), Integer(ywz43800)) → new_primEqInt(ywz44300, ywz43800)
new_mkVBalBranch3MkVBalBranch13(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch57(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch2(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_mkBalBranch6MkBalBranch31(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, EmptyFM, True, h, ba) → error([])
new_mkVBalBranch3MkVBalBranch13(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, False, h, ba) → new_mkBranch4(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), ywz35, ywz36, ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba)
new_lt12(ywz599, ywz602, app(ty_Ratio, dga)) → new_lt4(ywz599, ywz602, dga)
new_ltEs7(Left(ywz5270), Left(ywz5280), app(ty_Maybe, ga), fa) → new_ltEs12(ywz5270, ywz5280, ga)
new_mkBranchResult(ywz469, ywz470, ywz572, ywz472, bf, bg) → Branch(ywz469, ywz470, new_ps(new_ps(Pos(Succ(Zero)), new_sizeFM(ywz472, bf, bg)), new_sizeFM(ywz572, bf, bg)), ywz472, ywz572)
new_esEs37(ywz5270, ywz5280, ty_Ordering) → new_esEs15(ywz5270, ywz5280)
new_mkBalBranch6MkBalBranch30(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, Branch(ywz4230, ywz4231, ywz4232, ywz4233, ywz4234), True, h, ba) → new_mkBalBranch6MkBalBranch112(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, new_lt7(new_sizeFM(ywz4234, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz4233, h, ba))), h, ba)
new_ltEs12(Just(ywz5270), Just(ywz5280), ty_Float) → new_ltEs6(ywz5270, ywz5280)
new_esEs27(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_compare211(ywz534, ywz535, True, fab, fac) → EQ
new_primMinusNat0(Zero, Succ(ywz58100)) → Neg(Succ(ywz58100))
new_ltEs9(ywz527, ywz528, bha) → new_fsEs(new_compare0(ywz527, ywz528, bha))
new_esEs41(LT) → False
new_lt23(ywz5271, ywz5281, app(ty_Maybe, ffe)) → new_lt16(ywz5271, ywz5281, ffe)
new_ltEs13(True, True) → True
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_esEs8(ywz4432, ywz4382, ty_Float) → new_esEs22(ywz4432, ywz4382)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Pos(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Succ(ywz426200)), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch59(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Neg(Succ(ywz426200)), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, ty_Ordering) → new_esEs15(ywz44300, ywz43800)
new_compare9(@3(ywz4430, ywz4431, ywz4432), @3(ywz4380, ywz4381, ywz4382), cac, cad, cae) → new_compare25(ywz4430, ywz4431, ywz4432, ywz4380, ywz4381, ywz4382, new_asAs(new_esEs6(ywz4430, ywz4380, cac), new_asAs(new_esEs7(ywz4431, ywz4381, cad), new_esEs8(ywz4432, ywz4382, cae))), cac, cad, cae)
new_lt24(ywz35, ywz290, ty_Float) → new_lt14(ywz35, ywz290)
new_ltEs23(ywz556, ywz557, ty_Ordering) → new_ltEs5(ywz556, ywz557)
new_esEs28(ywz44301, ywz43801, app(ty_Ratio, cha)) → new_esEs20(ywz44301, ywz43801, cha)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Float, fa) → new_ltEs6(ywz5270, ywz5280)
new_primCmpInt(Pos(Succ(ywz44300)), Pos(Zero)) → GT
new_ltEs18(ywz600, ywz603, ty_Bool) → new_ltEs13(ywz600, ywz603)
new_lt24(ywz35, ywz290, ty_Double) → new_lt13(ywz35, ywz290)
new_ltEs21(ywz534, ywz535, ty_@0) → new_ltEs15(ywz534, ywz535)
new_ltEs20(ywz5271, ywz5281, ty_Double) → new_ltEs8(ywz5271, ywz5281)
new_esEs40(ywz44300, ywz43800, ty_Bool) → new_esEs14(ywz44300, ywz43800)
new_compare18(Char(ywz4430), Char(ywz4380)) → new_primCmpNat0(ywz4430, ywz4380)
new_lt15(ywz35, ywz290, bec, bed, bee) → new_esEs12(new_compare9(ywz35, ywz290, bec, bed, bee))
new_compare13(ywz680, ywz681, ywz682, ywz683, False, ywz685, ced, cee) → new_compare14(ywz680, ywz681, ywz682, ywz683, ywz685, ced, cee)
new_mkBalBranch6MkBalBranch510(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz424, ywz423, Branch(ywz4260, ywz4261, Neg(Zero), ywz4263, ywz4264), ywz425, h, ba) → new_mkBalBranch6MkBalBranch516(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, new_esEs15(new_primCmpInt(Neg(Zero), Pos(Succ(Succ(Zero)))), LT), h, ba)
new_ltEs22(ywz5272, ywz5282, app(ty_[], fga)) → new_ltEs9(ywz5272, ywz5282, fga)
new_esEs9(ywz4430, ywz4380, app(ty_Ratio, gaa)) → new_esEs20(ywz4430, ywz4380, gaa)
new_compare16(GT, LT) → GT
new_mkBalBranch6MkBalBranch4(ywz469, ywz470, ywz571, ywz472, Branch(ywz5700, ywz5701, ywz5702, ywz5703, ywz5704), True, bf, bg) → new_mkBalBranch6MkBalBranch01(ywz469, ywz470, ywz571, ywz472, ywz5700, ywz5701, ywz5702, ywz5703, ywz5704, new_lt7(new_sizeFM(ywz5703, bf, bg), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz5704, bf, bg))), bf, bg)
new_esEs23(Right(ywz44300), Right(ywz43800), bbh, app(app(ty_@2, bce), bcf)) → new_esEs19(ywz44300, ywz43800, bce, bcf)
new_lt21(ywz5270, ywz5280, app(app(app(ty_@3, ecg), ech), eda)) → new_lt15(ywz5270, ywz5280, ecg, ech, eda)
new_mkBalBranch6MkBalBranch113(ywz330, ywz331, ywz3340, ywz3341, ywz334200, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, True, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz4230, ywz4231, ywz4233, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz330, ywz331, ywz4234, Branch(ywz3340, ywz3341, Pos(Succ(ywz334200)), ywz3343, ywz3344), h, ba), h, ba)
new_ltEs23(ywz556, ywz557, ty_Bool) → new_ltEs13(ywz556, ywz557)
new_ltEs21(ywz534, ywz535, app(app(app(ty_@3, fag), fah), fba)) → new_ltEs10(ywz534, ywz535, fag, fah, fba)
new_lt23(ywz5271, ywz5281, app(app(app(ty_@3, ffb), ffc), ffd)) → new_lt15(ywz5271, ywz5281, ffb, ffc, ffd)
new_compare26(ywz4430, ywz4380, ty_Double) → new_compare11(ywz4430, ywz4380)
new_mkVBalBranch3MkVBalBranch16(ywz290, ywz291, ywz292, ywz293, ywz294, ywz330, ywz331, ywz333, ywz334, ywz35, ywz36, True, h, ba) → new_mkBalBranch6MkBalBranch511(ywz290, ywz291, ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, ywz293, new_lt7(new_ps(new_mkBalBranch6Size_l(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba), new_mkBalBranch6Size_r(ywz290, ywz291, new_mkVBalBranch7(ywz35, ywz36, ywz294, ywz330, ywz331, ywz333, ywz334, h, ba), ywz293, h, ba)), Pos(Succ(Succ(Zero)))), h, ba)
new_primMulNat0(Succ(ywz443100), Succ(ywz438100)) → new_primPlusNat0(new_primMulNat0(ywz443100, Succ(ywz438100)), Succ(ywz438100))
new_esEs10(ywz4430, ywz4380, app(app(ty_@2, eff), efg)) → new_esEs19(ywz4430, ywz4380, eff, efg)
new_compare17(ywz648, ywz649, True, baa) → LT
new_lt11(ywz598, ywz601, app(app(ty_Either, dea), deb)) → new_lt5(ywz598, ywz601, dea, deb)
new_ltEs23(ywz556, ywz557, ty_@0) → new_ltEs15(ywz556, ywz557)
new_primPlusNat0(Succ(ywz504200), Succ(ywz58100)) → Succ(Succ(new_primPlusNat0(ywz504200, ywz58100)))
new_ltEs19(ywz612, ywz614, ty_Ordering) → new_ltEs5(ywz612, ywz614)
new_lt23(ywz5271, ywz5281, ty_Double) → new_lt13(ywz5271, ywz5281)
new_esEs6(ywz4430, ywz4380, app(ty_[], cbe)) → new_esEs21(ywz4430, ywz4380, cbe)
new_ltEs7(Left(ywz5270), Left(ywz5280), ty_Double, fa) → new_ltEs8(ywz5270, ywz5280)
new_compare15(Float(ywz4430, ywz4431), Float(ywz4380, ywz4381)) → new_compare8(new_sr(ywz4430, ywz4380), new_sr(ywz4431, ywz4381))
new_mkBalBranch6MkBalBranch111(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, True, h, ba) → new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz4230, ywz4231, ywz4233, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz330, ywz331, ywz4234, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), h, ba), h, ba)
new_esEs34(ywz598, ywz601, app(app(ty_@2, deh), dfa)) → new_esEs19(ywz598, ywz601, deh, dfa)
new_mkBalBranch6MkBalBranch516(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranchResult(ywz330, ywz331, Branch(ywz3340, ywz3341, Neg(Zero), ywz3343, ywz3344), ywz423, h, ba)
new_esEs31(ywz44301, ywz43801, ty_Bool) → new_esEs14(ywz44301, ywz43801)
new_ltEs19(ywz612, ywz614, app(app(app(ty_@3, ebe), ebf), ebg)) → new_ltEs10(ywz612, ywz614, ebe, ebf, ebg)
new_mkBalBranch6MkBalBranch32(ywz330, ywz331, ywz424, Branch(ywz4230, ywz4231, ywz4232, ywz4233, ywz4234), True, h, ba) → new_mkBalBranch6MkBalBranch110(ywz330, ywz331, ywz424, ywz4230, ywz4231, ywz4232, ywz4233, ywz4234, new_lt7(new_sizeFM(ywz4234, h, ba), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM(ywz4233, h, ba))), h, ba)
new_esEs15(GT, GT) → True
new_compare19(ywz634, ywz635, False, bac, bad) → GT
new_esEs34(ywz598, ywz601, app(app(app(ty_@3, dec), ded), dee)) → new_esEs13(ywz598, ywz601, dec, ded, dee)
new_ltEs24(ywz527, ywz528, app(app(app(ty_@3, bhb), bhc), bhd)) → new_ltEs10(ywz527, ywz528, bhb, bhc, bhd)
new_lt21(ywz5270, ywz5280, app(ty_Maybe, edb)) → new_lt16(ywz5270, ywz5280, edb)
new_esEs17(Just(ywz44300), Just(ywz43800), app(ty_Maybe, bfb)) → new_esEs17(ywz44300, ywz43800, bfb)
new_esEs39(ywz5271, ywz5281, app(app(ty_@2, ffg), ffh)) → new_esEs19(ywz5271, ywz5281, ffg, ffh)
new_mkBalBranch6MkBalBranch012(ywz330, ywz331, ywz3340, ywz3341, ywz3343, ywz3344, ywz424, ywz423, True, h, ba) → new_mkBranch1(Succ(Succ(Zero)), ywz3340, ywz3341, new_mkBranch1(Succ(Succ(Succ(Zero))), ywz330, ywz331, ywz423, ywz3343, h, ba), ywz3344, h, ba)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_mkBalBranch6MkBalBranch11(ywz469, ywz470, ywz571, ywz4720, ywz4721, ywz4722, ywz4723, Branch(ywz47240, ywz47241, ywz47242, ywz47243, ywz47244), ywz570, False, bf, bg) → new_mkBranch3(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz47240, ywz47241, ywz4720, ywz4721, ywz4723, ywz47243, ywz469, ywz470, ywz47244, ywz570, bf, bg)
new_esEs39(ywz5271, ywz5281, ty_Double) → new_esEs18(ywz5271, ywz5281)
new_gt(ywz443, ywz438, app(ty_Ratio, faa)) → new_esEs41(new_compare5(ywz443, ywz438, faa))
new_esEs11(ywz4431, ywz4381, ty_Ordering) → new_esEs15(ywz4431, ywz4381)
new_primCmpInt(Neg(Succ(ywz44300)), Pos(ywz4380)) → LT
new_mkBalBranch6MkBalBranch41(ywz330, ywz331, ywz424, ywz423, False, h, ba) → new_mkBalBranch6MkBalBranch32(ywz330, ywz331, ywz424, ywz423, new_gt0(new_mkBalBranch6Size_l(ywz330, ywz331, EmptyFM, ywz424, h, ba), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz330, ywz331, EmptyFM, ywz424, h, ba))), h, ba)
new_gt(ywz443, ywz438, ty_Integer) → new_esEs41(new_compare30(ywz443, ywz438))
new_compare11(Double(ywz4430, ywz4431), Double(ywz4380, ywz4381)) → new_compare8(new_sr(ywz4430, ywz4380), new_sr(ywz4431, ywz4381))

The set Q consists of the following terms:

new_esEs36(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_esEs23(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare6(Left(x0), Left(x1), x2, x3)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_@0)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, ty_Ordering)
new_esEs10(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_primMinusNat0(Zero, Zero)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Int)
new_pePe(False, x0)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Succ(x0), Zero)
new_esEs35(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch010(x0, x1, x2, x3, x4, Branch(x5, x6, x7, x8, x9), x10, x11, x12, False, x13, x14)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_gt(x0, x1, app(ty_Maybe, x2))
new_mkBalBranch6MkBalBranch513(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12)
new_esEs36(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch510(x0, x1, EmptyFM, x2, x3, EmptyFM, x4, x5, x6)
new_esEs29(x0, x1, ty_Bool)
new_ltEs23(x0, x1, ty_Float)
new_compare17(x0, x1, False, x2)
new_esEs36(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs9(x0, x1, ty_Integer)
new_ltEs24(x0, x1, ty_@0)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs30(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch012(x0, x1, x2, x3, Branch(x4, x5, x6, x7, x8), x9, x10, x11, False, x12, x13)
new_primEqNat0(Succ(x0), Succ(x1))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt8(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Neg(Succ(x7)), x8, x9, x10, x11, False, x12, x13)
new_esEs31(x0, x1, ty_Int)
new_ltEs6(x0, x1)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, ty_Float)
new_addToFM_C(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(Right(x0), Right(x1), x2, x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare30(Integer(x0), Integer(x1))
new_esEs5(x0, x1, ty_Ordering)
new_lt19(x0, x1)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, ty_Integer)
new_compare26(x0, x1, ty_Bool)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusInt(Pos(x0), Pos(x1))
new_mkBranch1(x0, x1, x2, x3, x4, x5, x6)
new_esEs9(x0, x1, ty_Int)
new_compare26(x0, x1, ty_Int)
new_lt11(x0, x1, ty_Char)
new_ltEs12(Nothing, Nothing, x0)
new_mkBalBranch6MkBalBranch114(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, Branch(x11, x12, x13, x14, x15), False, x16, x17)
new_gt(x0, x1, ty_@0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Integer)
new_esEs28(x0, x1, ty_Int)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_lt23(x0, x1, app(ty_[], x2))
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Zero), x4, x5), x6, x7, Branch(x8, x9, Pos(Succ(x10)), x11, x12), x13, x14, x15)
new_esEs17(Just(x0), Just(x1), app(ty_[], x2))
new_esEs27(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt24(x0, x1, ty_Double)
new_compare213(x0, x1, False, x2)
new_compare110(x0, x1, True, x2, x3)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch43(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10)
new_compare27(Just(x0), Just(x1), x2)
new_esEs31(x0, x1, ty_Ordering)
new_esEs23(Left(x0), Left(x1), ty_Integer, x2)
new_esEs38(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch514(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_mkBalBranch6MkBalBranch57(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, True, x10, x11)
new_esEs17(Just(x0), Just(x1), ty_Ordering)
new_lt24(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch42(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_ltEs5(LT, EQ)
new_ltEs5(EQ, LT)
new_esEs6(x0, x1, ty_Float)
new_esEs35(x0, x1, ty_@0)
new_lt11(x0, x1, app(ty_[], x2))
new_primEqNat0(Zero, Zero)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs20(x0, x1, ty_Bool)
new_lt24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, ty_Char)
new_compare26(x0, x1, ty_Integer)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Bool)
new_compare16(LT, LT)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, ty_@0)
new_addToFM(x0, x1, x2, x3, x4, x5, x6, x7, x8)
new_esEs8(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_esEs5(x0, x1, ty_@0)
new_lt24(x0, x1, app(ty_[], x2))
new_compare25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_lt23(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Integer)
new_esEs10(x0, x1, ty_Char)
new_esEs12(LT)
new_esEs10(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch513(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12)
new_esEs38(x0, x1, ty_Float)
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, ty_Integer)
new_lt11(x0, x1, ty_Int)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_@0)
new_esEs39(x0, x1, app(app(ty_Either, x2), x3))
new_compare8(x0, x1)
new_mkBalBranch6MkBalBranch011(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, ty_Double)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_mkVBalBranch7(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Zero), x4, x5), x6, x7, Branch(x8, x9, Neg(Succ(x10)), x11, x12), x13, x14, x15)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Zero), x4, x5), x6, x7, Branch(x8, x9, Pos(Succ(x10)), x11, x12), x13, x14, x15)
new_esEs34(x0, x1, ty_Bool)
new_compare13(x0, x1, x2, x3, False, x4, x5, x6)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt12(x0, x1, ty_@0)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs36(x0, x1, ty_Bool)
new_esEs23(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs39(x0, x1, ty_Float)
new_ltEs9(x0, x1, x2)
new_esEs29(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, False, x8, x9)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Pos(Zero), x7, x8, x9, x10, False, x11, x12)
new_lt24(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, False, x8, x9)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs23(Left(x0), Right(x1), x2, x3)
new_esEs23(Right(x0), Left(x1), x2, x3)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch515(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10)
new_mkVBalBranch9(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, x13)
new_esEs24(@0, @0)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(Nothing, Nothing, x0)
new_esEs35(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch111(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, EmptyFM, False, x11, x12)
new_esEs23(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare212(x0, x1, False, x2, x3)
new_ltEs24(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch31(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), True, x12, x13)
new_esEs9(x0, x1, app(ty_[], x2))
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch59(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_esEs17(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs18(Double(x0, x1), Double(x2, x3))
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt(x0, x1, ty_Double)
new_lt11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs13(True, True)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_pePe(True, x0)
new_lt12(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, x4, False, x5, x6)
new_lt20(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch114(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, EmptyFM, False, x11, x12)
new_compare18(Char(x0), Char(x1))
new_primMinusNat0(Succ(x0), Succ(x1))
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Double)
new_esEs38(x0, x1, ty_Double)
new_compare9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs13(False, False)
new_esEs17(Nothing, Nothing, x0)
new_lt24(x0, x1, ty_Float)
new_esEs28(x0, x1, ty_Integer)
new_primCmpInt(Pos(Succ(x0)), Pos(Zero))
new_ps(x0, x1)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Zero), x4, x5), x6, x7, Branch(x8, x9, Neg(Zero), x10, x11), x12, x13, x14)
new_esEs4(x0, x1, ty_Ordering)
new_esEs17(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs15(LT, LT)
new_ltEs13(True, False)
new_ltEs13(False, True)
new_mkVBalBranch2(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12)
new_mkBalBranch6MkBalBranch59(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9)
new_mkBranch(x0, x1, x2, x3, x4, x5)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_lt12(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs40(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, ty_Integer)
new_esEs15(GT, EQ)
new_esEs15(EQ, GT)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Pos(Succ(x7)), x8, x9, x10, x11, False, x12, x13)
new_esEs21([], :(x0, x1), x2)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_mkBalBranch6MkBalBranch33(x0, x1, x2, x3, x4, x5, x6, EmptyFM, True, x7, x8)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs17(Just(x0), Just(x1), ty_Bool)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Nothing, Just(x0), x1)
new_compare7(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare26(x0, x1, ty_@0)
new_compare10(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Succ(x4)), x5, x6), x7, x8, EmptyFM, x9, x10, x11)
new_mkVBalBranch0(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13)
new_esEs4(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs40(x0, x1, ty_Double)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Double)
new_mkBalBranch6MkBalBranch515(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_ltEs18(x0, x1, ty_Integer)
new_esEs17(Just(x0), Just(x1), ty_Integer)
new_mkBalBranch6MkBalBranch013(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_esEs7(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Zero), x4, x5), x6, x7, EmptyFM, x8, x9, x10)
new_esEs34(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, Branch(x4, x5, x6, x7, x8), True, x9, x10)
new_ltEs22(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Ordering)
new_esEs23(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_mkBalBranch6MkBalBranch512(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10)
new_ltEs15(x0, x1)
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs30(x0, x1, ty_Char)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs22(x0, x1, ty_Char)
new_compare11(Double(x0, x1), Double(x2, x3))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_mkBalBranch6MkBalBranch33(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9)
new_lt12(x0, x1, ty_Double)
new_lt12(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Char)
new_esEs40(x0, x1, ty_Bool)
new_lt24(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch510(x0, x1, EmptyFM, x2, x3, Branch(x4, x5, Neg(x6), x7, x8), x9, x10, x11)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_mkBalBranch6MkBalBranch013(x0, x1, x2, x3, Branch(x4, x5, x6, x7, x8), x9, x10, x11, False, x12, x13)
new_esEs23(Left(x0), Left(x1), ty_Char, x2)
new_mkBranch5(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)
new_ltEs19(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Bool)
new_compare12(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_mkBalBranch6MkBalBranch514(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12)
new_ltEs23(x0, x1, ty_Bool)
new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5)
new_compare16(GT, GT)
new_esEs4(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Zero)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_mkVBalBranch7(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12)
new_esEs28(x0, x1, ty_Float)
new_lt11(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Float)
new_lt12(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, Branch(x8, x9, x10, x11, x12), True, x13, x14)
new_lt24(x0, x1, ty_Char)
new_lt11(x0, x1, ty_Ordering)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_emptyFM(x0, x1)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch43(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_esEs35(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(LT, GT)
new_asAs(False, x0)
new_ltEs5(GT, LT)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBranch6(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)
new_compare211(x0, x1, False, x2, x3)
new_esEs37(x0, x1, ty_Double)
new_esEs17(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs38(x0, x1, app(ty_[], x2))
new_compare26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs9(x0, x1, ty_Char)
new_lt11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_Float)
new_ltEs8(x0, x1)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs27(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch012(x0, x1, x2, x3, EmptyFM, x4, x5, x6, False, x7, x8)
new_esEs21([], [], x0)
new_mkVBalBranch3MkVBalBranch16(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12)
new_compare17(x0, x1, True, x2)
new_esEs9(x0, x1, ty_@0)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_compare26(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkVBalBranch3MkVBalBranch16(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12)
new_lt23(x0, x1, ty_Int)
new_esEs20(:%(x0, x1), :%(x2, x3), x4)
new_compare26(x0, x1, ty_Double)
new_gt(x0, x1, ty_Char)
new_gt(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(Left(x0), Left(x1), ty_Double, x2)
new_ltEs5(GT, GT)
new_esEs15(LT, GT)
new_esEs15(GT, LT)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Double)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_primEqNat0(Zero, Succ(x0))
new_ltEs20(x0, x1, ty_Float)
new_esEs23(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_mkBranch3(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_Char)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Pos(Succ(x11)), x12, x13), x14, x15, x16)
new_primCompAux0(x0, GT)
new_lt11(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_esEs9(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch013(x0, x1, x2, x3, EmptyFM, x4, x5, x6, False, x7, x8)
new_esEs23(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primPlusInt(Neg(x0), Neg(x1))
new_mkBalBranch6MkBalBranch44(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_not(True)
new_compare5(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_compare5(:%(x0, x1), :%(x2, x3), ty_Int)
new_mkBalBranch6MkBalBranch110(x0, x1, x2, x3, x4, x5, x6, EmptyFM, False, x7, x8)
new_lt22(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, ty_Char)
new_compare14(x0, x1, x2, x3, True, x4, x5)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_esEs35(x0, x1, ty_Bool)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_compare26(x0, x1, app(ty_[], x2))
new_esEs23(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs23(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs4(x0, x1, x2)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_mkBalBranch6MkBalBranch32(x0, x1, x2, x3, False, x4, x5)
new_ltEs21(x0, x1, ty_Ordering)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_lt24(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_@0)
new_esEs12(EQ)
new_lt22(x0, x1, ty_Int)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_ltEs21(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch516(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_esEs23(Right(x0), Right(x1), x2, ty_Float)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, app(ty_[], x2))
new_ltEs18(x0, x1, ty_@0)
new_esEs40(x0, x1, ty_Integer)
new_esEs37(x0, x1, ty_Ordering)
new_esEs23(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, app(ty_[], x2))
new_ltEs11(x0, x1)
new_mkVBalBranch2(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7)
new_esEs39(x0, x1, ty_@0)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Zero), x4, x5), x6, x7, Branch(x8, x9, Neg(Succ(x10)), x11, x12), x13, x14, x15)
new_primCompAux0(x0, LT)
new_esEs30(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare211(x0, x1, True, x2, x3)
new_esEs36(x0, x1, ty_Int)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(ty_Ratio, x2))
new_primMinusNat0(Zero, Succ(x0))
new_compare16(EQ, EQ)
new_esEs7(x0, x1, ty_Double)
new_esEs12(GT)
new_addToFM_C(EmptyFM, x0, x1, x2, x3)
new_mkVBalBranch3MkVBalBranch14(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_esEs15(EQ, LT)
new_esEs15(LT, EQ)
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_@0)
new_mkVBalBranch5(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13)
new_mkBalBranch6MkBalBranch113(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, Branch(x12, x13, x14, x15, x16), False, x17, x18)
new_esEs5(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Neg(Zero), x11, x12), x13, x14, x15)
new_esEs28(x0, x1, ty_Ordering)
new_mkBranch7(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)
new_asAs(True, x0)
new_esEs36(x0, x1, ty_Char)
new_esEs17(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, False, x13, x14)
new_mkBalBranch6MkBalBranch31(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9)
new_mkBalBranch6MkBalBranch112(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, True, x13, x14)
new_esEs35(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_@0)
new_compare213(x0, x1, True, x2)
new_ltEs21(x0, x1, ty_Int)
new_compare25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs5(LT, LT)
new_esEs11(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(Right(x0), Right(x1), x2, ty_Int)
new_mkBalBranch6MkBalBranch32(x0, x1, x2, EmptyFM, True, x3, x4)
new_primPlusInt(Pos(x0), Neg(x1))
new_primPlusInt(Neg(x0), Pos(x1))
new_ltEs22(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch010(x0, x1, x2, x3, x4, EmptyFM, x5, x6, x7, False, x8, x9)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_compare27(Nothing, Just(x0), x1)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare19(x0, x1, True, x2, x3)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, False, x13, x14)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, ty_Ordering)
new_lt24(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Neg(Succ(x11)), x12, x13), x14, x15, x16)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_fsEs(x0)
new_mkVBalBranch0(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8)
new_esEs6(x0, x1, ty_Int)
new_esEs37(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Double)
new_ltEs18(x0, x1, ty_Float)
new_mkVBalBranch3MkVBalBranch15(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_compare212(x0, x1, True, x2, x3)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(Left(x0), Left(x1), ty_Ordering, x2)
new_mkBalBranch6MkBalBranch58(x0, x1, x2, x3, True, x4, x5)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_Int)
new_compare16(EQ, GT)
new_compare16(GT, EQ)
new_lt16(x0, x1, x2)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Zero), x4, x5), x6, x7, Branch(x8, x9, Pos(Zero), x10, x11), x12, x13, x14)
new_lt20(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_mkBranch0(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9)
new_compare26(x0, x1, app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch511(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, True, x10, x11)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_mkVBalBranch3MkVBalBranch14(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_gt(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_compare110(x0, x1, False, x2, x3)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs17(Nothing, Just(x0), x1)
new_ltEs5(GT, EQ)
new_ltEs5(EQ, GT)
new_esEs39(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Int)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_Char)
new_mkBalBranch6MkBalBranch34(x0, x1, x2, x3, x4, x5, x6, x7, EmptyFM, True, x8, x9)
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_mkBalBranch6MkBalBranch113(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, EmptyFM, False, x12, x13)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, EmptyFM, True, x4, x5)
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs23(Right(x0), Right(x1), x2, ty_@0)
new_esEs9(x0, x1, ty_Float)
new_compare0([], [], x0)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(Float(x0, x1), Float(x2, x3))
new_ltEs21(x0, x1, ty_@0)
new_mkBranchResult(x0, x1, x2, x3, x4, x5)
new_sizeFM(EmptyFM, x0, x1)
new_lt21(x0, x1, ty_Bool)
new_esEs39(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch111(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, Branch(x11, x12, x13, x14, x15), False, x16, x17)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, x4, False, x5, x6)
new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, x2, x3)
new_mkBalBranch6MkBalBranch44(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_compare10(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_lt21(x0, x1, ty_@0)
new_esEs17(Just(x0), Just(x1), ty_@0)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs21(:(x0, x1), :(x2, x3), x4)
new_mkBalBranch6MkBalBranch34(x0, x1, x2, x3, x4, x5, x6, x7, Branch(x8, x9, x10, x11, x12), True, x13, x14)
new_esEs14(True, True)
new_esEs35(x0, x1, ty_Char)
new_gt(x0, x1, ty_Float)
new_compare29(@0, @0)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs29(x0, x1, ty_Integer)
new_sizeFM(Branch(x0, x1, x2, x3, x4), x5, x6)
new_esEs40(x0, x1, app(app(ty_@2, x2), x3))
new_mkBalBranch6MkBalBranch114(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_esEs11(x0, x1, ty_Char)
new_compare26(x0, x1, ty_Ordering)
new_gt(x0, x1, ty_Int)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Ordering)
new_compare15(Float(x0, x1), Float(x2, x3))
new_mkBalBranch6MkBalBranch31(x0, x1, x2, x3, x4, x5, x6, EmptyFM, True, x7, x8)
new_esEs6(x0, x1, ty_Ordering)
new_compare16(LT, EQ)
new_compare16(EQ, LT)
new_ltEs17(x0, x1)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Double)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt12(x0, x1, ty_Float)
new_lt11(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Float)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_compare28(True, True)
new_esEs34(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Double)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch010(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_esEs25(Integer(x0), Integer(x1))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Ordering)
new_esEs40(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch111(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_esEs7(x0, x1, ty_Int)
new_esEs17(Just(x0), Just(x1), ty_Double)
new_primEqNat0(Succ(x0), Zero)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Zero), x4, x5), x6, x7, EmptyFM, x8, x9, x10)
new_esEs27(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch34(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch011(x0, x1, x2, x3, x4, Branch(x5, x6, x7, x8, x9), x10, x11, x12, False, x13, x14)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_lt12(x0, x1, ty_Int)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs40(x0, x1, ty_Char)
new_sIZE_RATIO
new_mkBalBranch6MkBalBranch57(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, False, x10, x11)
new_lt17(x0, x1)
new_gt(x0, x1, app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Ordering)
new_esEs36(x0, x1, ty_Double)
new_ltEs24(x0, x1, ty_Float)
new_lt24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch512(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_lt14(x0, x1)
new_lt22(x0, x1, ty_Bool)
new_lt12(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch32(x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8, x9)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, Branch(x3, x4, x5, x6, x7), x8, True, x9, x10)
new_compare14(x0, x1, x2, x3, False, x4, x5)
new_primCompAux1(x0, x1, x2, x3)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, app(app(ty_@2, x2), x3))
new_lt18(x0, x1)
new_ltEs24(x0, x1, ty_Double)
new_mkBalBranch6MkBalBranch52(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_esEs41(GT)
new_esEs4(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt23(x0, x1, ty_Bool)
new_esEs17(Just(x0), Just(x1), ty_Int)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_esEs30(x0, x1, ty_Bool)
new_esEs23(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primPlusNat0(Succ(x0), Zero)
new_esEs4(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_@0)
new_esEs26(x0, x1)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Float)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Bool)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs39(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Double)
new_mkBranch2(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_mkBalBranch6MkBalBranch51(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_esEs34(x0, x1, ty_Double)
new_esEs23(Right(x0), Right(x1), x2, ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_compare28(False, False)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Int)
new_esEs41(EQ)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_gt(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch41(x0, x1, x2, x3, False, x4, x5)
new_esEs39(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Float)
new_esEs23(Left(x0), Left(x1), ty_@0, x2)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch110(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_ltEs18(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs31(x0, x1, ty_Double)
new_lt11(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(Left(x0), Right(x1), x2, x3)
new_compare6(Right(x0), Left(x1), x2, x3)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, Neg(Zero), x7, x8, x9, x10, False, x11, x12)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_compare0([], :(x0, x1), x2)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_esEs29(x0, x1, ty_Float)
new_primCmpNat0(Zero, Succ(x0))
new_mkVBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)
new_esEs31(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_lt21(x0, x1, ty_Integer)
new_mkVBalBranch3MkVBalBranch13(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, True, x11, x12)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_compare28(True, False)
new_compare28(False, True)
new_ltEs23(x0, x1, ty_@0)
new_mkBalBranch6MkBalBranch112(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, Branch(x12, x13, x14, x15, x16), False, x17, x18)
new_esEs10(x0, x1, app(ty_[], x2))
new_lt11(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Double)
new_esEs39(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Pos(Zero), x11, x12), x13, x14, x15)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Neg(Zero), x11, x12), x13, x14, x15)
new_ltEs10(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs23(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs16(Char(x0), Char(x1))
new_esEs23(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs8(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_@0)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Char)
new_ltEs22(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs14(True, False)
new_esEs14(False, True)
new_lt9(x0, x1, x2)
new_lt11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, ty_Double)
new_esEs28(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_[], x2))
new_lt12(x0, x1, ty_Char)
new_lt12(x0, x1, ty_Integer)
new_lt4(x0, x1, x2)
new_ltEs24(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Int)
new_esEs23(Right(x0), Right(x1), x2, ty_Ordering)
new_mkBalBranch6MkBalBranch40(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_mkBalBranch6MkBalBranch58(x0, x1, x2, x3, False, x4, x5)
new_esEs40(x0, x1, app(ty_[], x2))
new_primMulInt(Neg(x0), Neg(x1))
new_lt7(x0, x1)
new_lt22(x0, x1, ty_Double)
new_mkBalBranch6MkBalBranch41(x0, x1, x2, x3, True, x4, x5)
new_lt10(x0, x1)
new_esEs40(x0, x1, ty_Float)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs19(x0, x1, ty_Float)
new_esEs40(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs14(@2(x0, x1), @2(x2, x3), x4, x5)
new_mkVBalBranch9(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, x8)
new_esEs39(x0, x1, ty_Double)
new_ltEs16(x0, x1)
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs5(x0, x1, ty_Float)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs39(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare12(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs23(Right(x0), Right(x1), x2, ty_Double)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Ordering)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Bool)
new_lt11(x0, x1, ty_Float)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch113(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, True, x13, x14)
new_mkBalBranch6MkBalBranch42(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9)
new_lt13(x0, x1)
new_primCmpNat0(Zero, Zero)
new_primCmpInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_mkVBalBranch3MkVBalBranch15(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt23(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch011(x0, x1, x2, x3, x4, EmptyFM, x5, x6, x7, False, x8, x9)
new_esEs4(x0, x1, ty_Double)
new_esEs23(Left(x0), Left(x1), ty_Float, x2)
new_mkVBalBranch3MkVBalBranch13(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, False, x11, x12)
new_esEs8(x0, x1, ty_Integer)
new_compare27(Just(x0), Nothing, x1)
new_compare26(x0, x1, ty_Char)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_mkVBalBranch5(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8)
new_lt23(x0, x1, ty_@0)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs15(GT, GT)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs34(x0, x1, ty_Integer)
new_mkBranch4(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)
new_compare26(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch40(x0, x1, x2, x3, x4, x5, x6, x7, x8, True, x9, x10)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Zero), x4, x5), x6, x7, Branch(x8, x9, Neg(Zero), x10, x11), x12, x13, x14)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Zero), x4, x5), x6, x7, Branch(x8, x9, Pos(Zero), x10, x11), x12, x13, x14)
new_esEs10(x0, x1, ty_Ordering)
new_compare19(x0, x1, False, x2, x3)
new_esEs38(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch510(x0, x1, EmptyFM, x2, x3, Branch(x4, x5, Pos(x6), x7, x8), x9, x10, x11)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5)
new_esEs21(:(x0, x1), [], x2)
new_esEs41(LT)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_[], x2))
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Pos(Zero), x11, x12), x13, x14, x15)
new_mkBalBranch6MkBalBranch112(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, EmptyFM, False, x12, x13)
new_ltEs20(x0, x1, ty_Char)
new_esEs28(x0, x1, app(ty_[], x2))
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Neg(Succ(x11)), x12, x13), x14, x15, x16)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Neg(Succ(x4)), x5, x6), x7, x8, Branch(x9, x10, Pos(Succ(x11)), x12, x13), x14, x15, x16)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_lt21(x0, x1, ty_Char)
new_compare13(x0, x1, x2, x3, True, x4, x5, x6)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs10(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch511(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, False, x10, x11)
new_esEs5(x0, x1, ty_Bool)
new_esEs33(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs37(x0, x1, ty_Int)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs40(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch510(x0, x1, Branch(x2, x3, Pos(Succ(x4)), x5, x6), x7, x8, EmptyFM, x9, x10, x11)
new_mkBalBranch6MkBalBranch110(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), False, x12, x13)
new_esEs15(EQ, EQ)
new_esEs39(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Int)
new_lt6(x0, x1, x2, x3)
new_esEs7(x0, x1, ty_Char)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Int)
new_primCmpInt(Neg(Succ(x0)), Neg(Zero))
new_lt22(x0, x1, ty_Char)
new_ltEs5(EQ, EQ)
new_esEs5(x0, x1, ty_Double)
new_primCmpInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_mkBalBranch6MkBalBranch51(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_ltEs21(x0, x1, ty_Char)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_gt(x0, x1, ty_Bool)
new_lt15(x0, x1, x2, x3, x4)
new_esEs8(x0, x1, ty_Char)
new_lt24(x0, x1, ty_Ordering)
new_primMinusNat0(Succ(x0), Zero)
new_ltEs22(x0, x1, ty_Double)
new_lt22(x0, x1, ty_Float)
new_ltEs22(x0, x1, ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs17(Just(x0), Nothing, x1)
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt21(x0, x1, app(ty_[], x2))
new_mkBalBranch6MkBalBranch3(x0, x1, x2, EmptyFM, x3, True, x4, x5)
new_esEs19(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs24(x0, x1, ty_Char)
new_esEs23(Left(x0), Left(x1), ty_Bool, x2)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_addToFM_C30(x0, x1, x2, x3, x4, x5, x6, x7, x8)
new_esEs13(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs6(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch516(x0, x1, x2, x3, x4, x5, x6, x7, False, x8, x9)
new_lt23(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch33(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), True, x12, x13)
new_ltEs18(x0, x1, ty_Char)
new_sr(x0, x1)
new_gt(x0, x1, ty_Integer)
new_mkBalBranch6MkBalBranch012(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_compare0(:(x0, x1), [], x2)
new_esEs17(Just(x0), Just(x1), ty_Char)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, EmptyFM, True, x8, x9)
new_lt24(x0, x1, ty_@0)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Bool)
new_esEs23(Left(x0), Left(x1), ty_Int, x2)
new_esEs14(False, False)
new_mkBalBranch6MkBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, False, x9, x10)
new_esEs27(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch52(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_compare16(GT, LT)
new_compare16(LT, GT)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt20(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Double)
new_esEs39(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Double)
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Bool)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(x0, x1, ty_Ordering)
new_esEs40(x0, x1, ty_@0)
new_gt0(x0, x1)
new_esEs32(x0, x1, ty_Integer)
new_esEs23(Right(x0), Right(x1), x2, ty_Char)
new_esEs17(Just(x0), Just(x1), ty_Float)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h) → new_plusFM_C(ywz3, new_splitGT2(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h), ywz54, h)
new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h) → new_plusFM_C(ywz3, new_splitLT2(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h), ywz53, h)

The TRS R consists of the following rules:

new_splitLT2(@0, ywz41, ywz42, ywz43, ywz44, @0, h) → ywz43
new_splitGT2(@0, ywz41, ywz42, ywz43, ywz44, @0, h) → ywz44

The set Q consists of the following terms:

new_splitGT2(@0, x0, x1, x2, x3, @0, x4)
new_splitLT2(@0, x0, x1, x2, x3, @0, x4)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: